(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:PROGRAM) op:Equal rhs:{(libtool)} spids:[83])]
      spids: [83]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:PACKAGE) op:Equal rhs:{(libtool)} spids:[86])]
      spids: [86]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:VERSION)
          op: Equal
          rhs: {(DQ ('2.4.6 Debian-2.4.6-0.1'))}
          spids: [89]
        )
      ]
      spids: [89]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:package_revision) op:Equal rhs:{(2.4.6)} spids:[94])]
      spids: [94]
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name AUTOCONF>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ (autoconf))})
          spids: [142 148]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name AUTOMAKE>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ (automake))})
          spids: [152 158]
        )
      }
    )
    (Sentence
      child: 
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:scriptversion)
              op: Equal
              rhs: {(2015-01-20.17)}
              spids: [182]
            )
          ]
          spids: [182]
        )
      terminator: <Op_Semi ';'>
    )
    (CommandList
      children: [
        (Sentence
          child: 
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:DUALCASE) op:Equal rhs:{(1)} spids:[308])]
              spids: [308]
            )
          terminator: <Op_Semi ';'>
        )
        (C {(export)} {(DUALCASE)})
      ]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (AndOr
                  ops: [Op_DAmp]
                  children: [
                    (C {(test)} {(-n)} 
                      {
                        (DQ 
                          (BracedVarSub
                            token: <VSub_Name ZSH_VERSION>
                            suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(set)})
                            spids: [326 330]
                          )
                        )
                      }
                    )
                    (Subshell
                      child: (C {(emulate)} {(sh)})
                      redirects: [
                        (Redir
                          op: <Redir_Great '>'>
                          fd: 16777215
                          arg_word: {(/dev/null)}
                        )
                        (Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})
                      ]
                      spids: [335 339]
                    )
                  ]
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(Lit_Other ':')})
            (C {(emulate)} {(sh)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:NULLCMD)
                  op: Equal
                  rhs: {(Lit_Other ':')}
                  spids: [358]
                )
              ]
              spids: [358]
            )
            (C {(alias)} {(-g)} {(SQ <'${1+"$@"}'>) (Lit_Other '=') (SQ <'"$@"'>)})
            (C {(setopt)} {(NO_GLOB_SUBST)})
          ]
          spids: [16777215 348]
        )
      ]
      else_action: [
        (Case
          to_match: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Subshell
                        child: (C {(set)} {(-o)})
                        redirects: [(Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})]
                        spids: [393 397]
                      )
                    ]
                  )
                left_token: <Left_Backtick '`'>
                spids: [392 401]
              )
            }
          arms: [
            (case_arm
              pat_list: [{(Lit_Other '*') (posix) (Lit_Other '*')}]
              action: [(C {(set)} {(-o)} {(posix)})]
              spids: [405 408 416 16777215]
            )
          ]
          spids: [390 403 418]
        )
      ]
      spids: [387 420]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_G_user_locale) op:Equal rhs:{(EmptyPart)} spids:[426])]
      spids: [426]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_G_safe_locale) op:Equal rhs:{(EmptyPart)} spids:[428])]
      spids: [428]
    )
    (ForEach
      iter_name: _G_var
      iter_words: [{(LANG)} {(LANGUAGE)} {(LC_ALL)} {(LC_CTYPE)} {(LC_COLLATE)} {(LC_MESSAGES)}]
      do_arg_iter: F
      body: 
        (DoGroup
          children: [
            (C {(eval)} 
              {
                (DQ ('if test set = ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{') ($ VSub_Name '$_G_var') ('+set}') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('; then\n') 
                  ('          save_') ($ VSub_Name '$_G_var') ('=') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ($ VSub_Name '$_G_var') 
                  ('\n') ('          ') ($ VSub_Name '$_G_var') ('=C\n') ('\t  export ') ($ VSub_Name '$_G_var') ('\n') 
                  ('\t  _G_user_locale=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$_G_var') ('=') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (save_) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('_G_var; ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (_G_user_locale) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('\n') ('\t  _G_safe_locale=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                  ($ VSub_Name '$_G_var') ('=C; ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (_G_safe_locale) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('\n') ('\tfi')
                )
              }
            )
          ]
          spids: [448 498]
        )
      spids: [435 16777215]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (Subshell
          child: (C {(unset)} {(CDPATH)})
          redirects: [
            (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})
            (Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})
          ]
          spids: [504 508]
        )
        (C {(unset)} {(CDPATH)})
      ]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:sp) op:Equal rhs:{(SQ <' '>)} spids:[526])]
      spids: [526]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:nl) op:Equal rhs:{(SQ <'\n'>)} spids:[531])]
      spids: [531]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:IFS)
          op: Equal
          rhs: {(DQ ($ VSub_Name '$sp') ('\t') ($ VSub_Name '$nl'))}
          spids: [536]
        )
      ]
      spids: [536]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(test)} 
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name PATH_SEPARATOR>
                        suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(set)})
                        spids: [552 556]
                      )
                    )
                  } {(KW_Bang '!') (Lit_Other '=')} {(set)}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:PATH_SEPARATOR)
                  op: Equal
                  rhs: {(Lit_Other ':')}
                  spids: [568]
                )
              ]
              spids: [568]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (Subshell
                  child: 
                    (CommandList
                      children: [
                        (Sentence
                          child: 
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:PATH)
                                  op: Equal
                                  rhs: {(SQ <'/bin;/bin'>)}
                                  spids: [573]
                                )
                              ]
                              spids: [573]
                            )
                          terminator: <Op_Semi ';'>
                        )
                        (Sentence
                          child: 
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:FPATH)
                                  op: Equal
                                  rhs: {($ VSub_Name '$PATH')}
                                  spids: [579]
                                )
                              ]
                              spids: [579]
                            )
                          terminator: <Op_Semi ';'>
                        )
                        (C {(sh)} {(-c)} {(Lit_Other ':')})
                      ]
                    )
                  redirects: [
                    (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})
                    (Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})
                  ]
                  spids: [572 588]
                )
                (BraceGroup
                  children: [
                    (AndOr
                      ops: [Op_DPipe]
                      children: [
                        (Subshell
                          child: 
                            (CommandList
                              children: [
                                (Sentence
                                  child: 
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:PATH)
                                          op: Equal
                                          rhs: {(SQ <'/bin:/bin'>)}
                                          spids: [602]
                                        )
                                      ]
                                      spids: [602]
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                                (Sentence
                                  child: 
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:FPATH)
                                          op: Equal
                                          rhs: {($ VSub_Name '$PATH')}
                                          spids: [608]
                                        )
                                      ]
                                      spids: [608]
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                                (C {(sh)} {(-c)} {(Lit_Other ':')})
                              ]
                            )
                          redirects: [
                            (Redir
                              op: <Redir_Great '>'>
                              fd: 16777215
                              arg_word: {(/dev/null)}
                            )
                            (Redir
                              op: <Redir_GreatAnd '2>&'>
                              fd: 2
                              arg_word: {(1)}
                            )
                          ]
                          spids: [601 617]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:PATH_SEPARATOR)
                              op: Equal
                              rhs: {(SQ <';'>)}
                              spids: [628]
                            )
                          ]
                          spids: [628]
                        )
                      ]
                    )
                  ]
                  spids: [598]
                )
              ]
            )
          ]
          spids: [16777215 565]
        )
      ]
      spids: [16777215 636]
    )
    (FuncDef
      name: func_executable_p
      body: 
        (BraceGroup
          children: [
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(test)} {(-f)} {(DQ ($ VSub_Number '$1'))})
                (C {(test)} {(-x)} {(DQ ($ VSub_Number '$1'))})
              ]
            )
          ]
          spids: [666]
        )
      spids: [661 665]
    )
    (FuncDef
      name: func_path_progs
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_G_progs_list)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [729]
                )
              ]
              spids: [729]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_G_check_func)
                  op: Equal
                  rhs: {($ VSub_Number '$2')}
                  spids: [733]
                )
              ]
              spids: [733]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_G_PATH)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Number 3>
                        suffix_op: 
                          (StringUnary
                            op_id: VTest_Hyphen
                            arg_word: {(DQ ($ VSub_Name '$PATH'))}
                          )
                        spids: [738 744]
                      )
                    }
                  spids: [737]
                )
              ]
              spids: [737]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_G_path_prog_max)
                  op: Equal
                  rhs: {(0)}
                  spids: [748]
                )
              ]
              spids: [748]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_G_path_prog_found)
                  op: Equal
                  rhs: {(false)}
                  spids: [752]
                )
              ]
              spids: [752]
            )
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:_G_save_IFS)
                      op: Equal
                      rhs: {($ VSub_Name '$IFS')}
                      spids: [756]
                    )
                  ]
                  spids: [756]
                )
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:IFS)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Name PATH_SEPARATOR>
                        suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(':')})
                        spids: [761 765]
                      )
                    }
                  spids: [760]
                )
              ]
              spids: [760]
            )
            (ForEach
              iter_name: _G_dir
              iter_words: [{($ VSub_Name '$_G_PATH')}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {($ VSub_Name '$_G_save_IFS')}
                          spids: [780]
                        )
                      ]
                      spids: [780]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(-z)} {(DQ ($ VSub_Name '$_G_dir'))})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:_G_dir)
                              op: Equal
                              rhs: {(.)}
                              spids: [794]
                            )
                          ]
                          spids: [794]
                        )
                      ]
                    )
                    (ForEach
                      iter_name: _G_prog_name
                      iter_words: [{($ VSub_Name '$_G_progs_list')}]
                      do_arg_iter: F
                      body: 
                        (DoGroup
                          children: [
                            (ForEach
                              iter_name: _exeext
                              iter_words: [{(SQ )} {(.EXE)}]
                              do_arg_iter: F
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:_G_path_prog)
                                          op: Equal
                                          rhs: 
                                            {($ VSub_Name '$_G_dir') (/) 
                                              ($ VSub_Name '$_G_prog_name') ($ VSub_Name '$_exeext')
                                            }
                                          spids: [825]
                                        )
                                      ]
                                      spids: [825]
                                    )
                                    (AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {(func_executable_p)} {(DQ ($ VSub_Name '$_G_path_prog'))})
                                        (ControlFlow
                                          token: <ControlFlow_Continue continue>
                                        )
                                      ]
                                    )
                                    (Case
                                      to_match: 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (SimpleCommand
                                                    words: [
                                                      {(DQ ($ VSub_Name '$_G_path_prog'))}
                                                      {(--version)}
                                                    ]
                                                    redirects: [
                                                      (Redir
                                                        op: <Redir_GreatAnd '2>&'>
                                                        fd: 2
                                                        arg_word: {(1)}
                                                      )
                                                    ]
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [845 854]
                                          )
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [{(Lit_Other '*') (GNU) (Lit_Other '*')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:func_path_progs_result)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$_G_path_prog')}
                                                  spids: [864]
                                                )
                                                (assign_pair
                                                  lhs: (LhsName name:_G_path_prog_found)
                                                  op: Equal
                                                  rhs: {(Lit_Other ':')}
                                                  spids: [867]
                                                )
                                              ]
                                              spids: [864]
                                            )
                                          ]
                                          spids: [859 862 870 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {($ VSub_Name '$_G_check_func')} 
                                              {($ VSub_Name '$_G_path_prog')}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:func_path_progs_result)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$func_check_prog_result')}
                                                  spids: [881]
                                                )
                                              ]
                                              spids: [881]
                                            )
                                          ]
                                          spids: [873 874 885 16777215]
                                        )
                                      ]
                                      spids: [843 856 888]
                                    )
                                    (AndOr
                                      ops: [Op_DAmp]
                                      children: [
                                        (C {($ VSub_Name '$_G_path_prog_found')})
                                        (ControlFlow
                                          token: <ControlFlow_Break break>
                                          arg_word: {(3)}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [822 900]
                                )
                              spids: [815 820]
                            )
                          ]
                          spids: [807 903]
                        )
                      spids: [803 805]
                    )
                  ]
                  spids: [777 906]
                )
              spids: [773 775]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:IFS)
                  op: Equal
                  rhs: {($ VSub_Name '$_G_save_IFS')}
                  spids: [909]
                )
              ]
              spids: [909]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(test)} {(-z)} {(DQ ($ VSub_Name '$func_path_progs_result'))})
                (BraceGroup
                  children: [
                    (SimpleCommand
                      words: [
                        {(echo)}
                        {
                          (DQ ('no acceptable sed could be found in ') 
                            (EscapedLiteralPart
                              token: <Lit_EscapedChar '\\$'>
                            ) (PATH)
                          )
                        }
                      ]
                      redirects: [(Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})]
                    )
                    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
                  ]
                  spids: [923]
                )
              ]
            )
          ]
          spids: [726]
        )
      spids: [721 725]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (C {(test)} {(-z)} {(DQ ($ VSub_Name '$SED'))})
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_G_sed_script)
                  op: Equal
                  rhs: {(s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/)}
                  spids: [981]
                )
              ]
              spids: [981]
            )
            (ForEach
              iter_name: _G_i
              iter_words: [{(1)} {(2)} {(3)} {(4)} {(5)} {(6)} {(7)}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_G_sed_script)
                          op: Equal
                          rhs: 
                            {($ VSub_Name '$_G_sed_script') ($ VSub_Name '$nl') 
                              ($ VSub_Name '$_G_sed_script')
                            }
                          spids: [1009]
                        )
                      ]
                      spids: [1009]
                    )
                  ]
                  spids: [1006 1015]
                )
              spids: [990 1004]
            )
            (Pipeline
              children: [
                (SimpleCommand
                  words: [{(echo)} {(DQ ($ VSub_Name '$_G_sed_script'))}]
                  redirects: [(Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})]
                )
                (SimpleCommand
                  words: [{(sed)} {(99q)}]
                  redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(conftest.sed)})]
                )
              ]
              negated: F
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_G_sed_script)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [1037]
                )
              ]
              spids: [1037]
            )
            (FuncDef
              name: func_check_prog_sed
              body: 
                (BraceGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_G_path_prog)
                          op: Equal
                          rhs: {($ VSub_Number '$1')}
                          spids: [1050]
                        )
                      ]
                      spids: [1050]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_G_count)
                          op: Equal
                          rhs: {(0)}
                          spids: [1055]
                        )
                      ]
                      spids: [1055]
                    )
                    (SimpleCommand
                      words: [{(printf)} {(0123456789)}]
                      redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(conftest.in)})]
                    )
                    (WhileUntil
                      keyword: <KW_While while>
                      cond: [(C {(Lit_Other ':')})]
                      body: 
                        (DoGroup
                          children: [
                            (SimpleCommand
                              words: [{(cat)} {(conftest.in)} {(conftest.in)}]
                              redirects: [
                                (Redir
                                  op: <Redir_Great '>'>
                                  fd: 16777215
                                  arg_word: {(conftest.tmp)}
                                )
                              ]
                            )
                            (C {(mv)} {(conftest.tmp)} {(conftest.in)})
                            (C {(cp)} {(conftest.in)} {(conftest.nl)})
                            (SimpleCommand
                              words: [{(echo)} {(SQ )}]
                              redirects: [
                                (Redir
                                  op: <Redir_DGreat '>>'>
                                  fd: 16777215
                                  arg_word: {(conftest.nl)}
                                )
                              ]
                            )
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (SimpleCommand
                                  words: [{(DQ ($ VSub_Name '$_G_path_prog'))} {(-f)} {(conftest.sed)}]
                                  redirects: [
                                    (Redir
                                      op: <Redir_Less '<'>
                                      fd: 16777215
                                      arg_word: {(conftest.nl)}
                                    )
                                    (Redir
                                      op: <Redir_Great '>'>
                                      fd: 16777215
                                      arg_word: {(conftest.out)}
                                    )
                                    (Redir
                                      op: <Redir_Great '2>'>
                                      fd: 2
                                      arg_word: {(/dev/null)}
                                    )
                                  ]
                                )
                                (ControlFlow
                                  token: <ControlFlow_Break break>
                                )
                              ]
                            )
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (SimpleCommand
                                  words: [{(diff)} {(conftest.out)} {(conftest.nl)}]
                                  redirects: [
                                    (Redir
                                      op: <Redir_Great '>'>
                                      fd: 16777215
                                      arg_word: {(/dev/null)}
                                    )
                                    (Redir
                                      op: <Redir_GreatAnd '2>&'>
                                      fd: 2
                                      arg_word: {(1)}
                                    )
                                  ]
                                )
                                (ControlFlow
                                  token: <ControlFlow_Break break>
                                )
                              ]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:_G_count)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C {(expr)} {($ VSub_Name '$_G_count')} {(Lit_Other '+')} 
                                                {(1)}
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [1149 1157]
                                      )
                                    }
                                  spids: [1148]
                                )
                              ]
                              spids: [1148]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name '$_G_count'))} {(-gt)} 
                                          {(DQ ($ VSub_Name '$_G_path_prog_max'))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_check_prog_result)
                                          op: Equal
                                          rhs: {($ VSub_Name '$_G_path_prog')}
                                          spids: [1182]
                                        )
                                      ]
                                      spids: [1182]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:_G_path_prog_max)
                                          op: Equal
                                          rhs: {($ VSub_Name '$_G_count')}
                                          spids: [1186]
                                        )
                                      ]
                                      spids: [1186]
                                    )
                                  ]
                                  spids: [16777215 1175]
                                )
                              ]
                              spids: [16777215 1190]
                            )
                            (AndOr
                              ops: [Op_DAmp]
                              children: [
                                (C {(test)} {(10)} {(-lt)} {(DQ ($ VSub_Name '$_G_count'))})
                                (ControlFlow
                                  token: <ControlFlow_Break break>
                                )
                              ]
                            )
                          ]
                          spids: [1072 1212]
                        )
                    )
                    (C {(rm)} {(-f)} {(conftest.in)} {(conftest.tmp)} {(conftest.nl)} {(conftest.out)})
                  ]
                  spids: [1047]
                )
              spids: [1041 1045]
            )
            (C {(func_path_progs)} {(DQ ('sed gsed'))} {(func_check_prog_sed)} 
              {($ VSub_Name '$PATH') (Lit_Other ':') (/usr/xpg4/bin)}
            )
            (C {(rm)} {(-f)} {(conftest.sed)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:SED)
                  op: Equal
                  rhs: {($ VSub_Name '$func_path_progs_result')}
                  spids: [1252]
                )
              ]
              spids: [1252]
            )
          ]
          spids: [978]
        )
      ]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (C {(test)} {(-z)} {(DQ ($ VSub_Name '$GREP'))})
        (BraceGroup
          children: [
            (FuncDef
              name: func_check_prog_grep
              body: 
                (BraceGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_G_path_prog)
                          op: Equal
                          rhs: {($ VSub_Number '$1')}
                          spids: [1287]
                        )
                      ]
                      spids: [1287]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_G_count)
                          op: Equal
                          rhs: {(0)}
                          spids: [1292]
                        )
                      ]
                      spids: [1292]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_G_path_prog_max)
                          op: Equal
                          rhs: {(0)}
                          spids: [1296]
                        )
                      ]
                      spids: [1296]
                    )
                    (SimpleCommand
                      words: [{(printf)} {(0123456789)}]
                      redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(conftest.in)})]
                    )
                    (WhileUntil
                      keyword: <KW_While while>
                      cond: [(C {(Lit_Other ':')})]
                      body: 
                        (DoGroup
                          children: [
                            (SimpleCommand
                              words: [{(cat)} {(conftest.in)} {(conftest.in)}]
                              redirects: [
                                (Redir
                                  op: <Redir_Great '>'>
                                  fd: 16777215
                                  arg_word: {(conftest.tmp)}
                                )
                              ]
                            )
                            (C {(mv)} {(conftest.tmp)} {(conftest.in)})
                            (C {(cp)} {(conftest.in)} {(conftest.nl)})
                            (SimpleCommand
                              words: [{(echo)} {(SQ <GREP>)}]
                              redirects: [
                                (Redir
                                  op: <Redir_DGreat '>>'>
                                  fd: 16777215
                                  arg_word: {(conftest.nl)}
                                )
                              ]
                            )
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (SimpleCommand
                                  words: [
                                    {(DQ ($ VSub_Name '$_G_path_prog'))}
                                    {(-e)}
                                    {(SQ <'GREP$'>)}
                                    {(-e)}
                                    {(SQ <'-(cannot match)-'>)}
                                  ]
                                  redirects: [
                                    (Redir
                                      op: <Redir_Less '<'>
                                      fd: 16777215
                                      arg_word: {(conftest.nl)}
                                    )
                                    (Redir
                                      op: <Redir_Great '>'>
                                      fd: 16777215
                                      arg_word: {(conftest.out)}
                                    )
                                    (Redir
                                      op: <Redir_Great '2>'>
                                      fd: 2
                                      arg_word: {(/dev/null)}
                                    )
                                  ]
                                )
                                (ControlFlow
                                  token: <ControlFlow_Break break>
                                )
                              ]
                            )
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (SimpleCommand
                                  words: [{(diff)} {(conftest.out)} {(conftest.nl)}]
                                  redirects: [
                                    (Redir
                                      op: <Redir_Great '>'>
                                      fd: 16777215
                                      arg_word: {(/dev/null)}
                                    )
                                    (Redir
                                      op: <Redir_GreatAnd '2>&'>
                                      fd: 2
                                      arg_word: {(1)}
                                    )
                                  ]
                                )
                                (ControlFlow
                                  token: <ControlFlow_Break break>
                                )
                              ]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:_G_count)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C {(expr)} {($ VSub_Name '$_G_count')} {(Lit_Other '+')} 
                                                {(1)}
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [1399 1407]
                                      )
                                    }
                                  spids: [1398]
                                )
                              ]
                              spids: [1398]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(DQ ($ VSub_Name '$_G_count'))} {(-gt)} 
                                          {(DQ ($ VSub_Name '$_G_path_prog_max'))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_check_prog_result)
                                          op: Equal
                                          rhs: {($ VSub_Name '$_G_path_prog')}
                                          spids: [1432]
                                        )
                                      ]
                                      spids: [1432]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:_G_path_prog_max)
                                          op: Equal
                                          rhs: {($ VSub_Name '$_G_count')}
                                          spids: [1436]
                                        )
                                      ]
                                      spids: [1436]
                                    )
                                  ]
                                  spids: [16777215 1425]
                                )
                              ]
                              spids: [16777215 1440]
                            )
                            (AndOr
                              ops: [Op_DAmp]
                              children: [
                                (C {(test)} {(10)} {(-lt)} {(DQ ($ VSub_Name '$_G_count'))})
                                (ControlFlow
                                  token: <ControlFlow_Break break>
                                )
                              ]
                            )
                          ]
                          spids: [1313 1462]
                        )
                    )
                    (C {(rm)} {(-f)} {(conftest.in)} {(conftest.tmp)} {(conftest.nl)} {(conftest.out)})
                  ]
                  spids: [1284]
                )
              spids: [1278 1282]
            )
            (C {(func_path_progs)} {(DQ ('grep ggrep'))} {(func_check_prog_grep)} 
              {($ VSub_Name '$PATH') (Lit_Other ':') (/usr/xpg4/bin)}
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:GREP)
                  op: Equal
                  rhs: {($ VSub_Name '$func_path_progs_result')}
                  spids: [1495]
                )
              ]
              spids: [1495]
            )
          ]
          spids: [1275]
        )
      ]
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name CP>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ ('cp -f'))})
          spids: [1527 1533]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name ECHO>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ ('printf %s') (Lit_Other '\\') (n))})
          spids: [1537 1545]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name EGREP>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ ($ VSub_Name '$GREP') (' -E'))})
          spids: [1549 1556]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name FGREP>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ ($ VSub_Name '$GREP') (' -F'))})
          spids: [1560 1567]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name LN_S>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ ('ln -s'))})
          spids: [1571 1577]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name MAKE>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ (make))})
          spids: [1581 1587]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name MKDIR>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ (mkdir))})
          spids: [1591 1597]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name MV>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ ('mv -f'))})
          spids: [1601 1607]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name RM>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ ('rm -f'))})
          spids: [1611 1617]
        )
      }
    )
    (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: [1625 1632]
                    )
                  )
                }
            )
          spids: [1621 1634]
        )
      }
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sed_dirname)
          op: Equal
          rhs: {(SQ <'s|/[^/]*$||'>)}
          spids: [1648]
        )
      ]
      spids: [1648]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sed_basename)
          op: Equal
          rhs: {(SQ <'s|^.*/||'>)}
          spids: [1653]
        )
      ]
      spids: [1653]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sed_quote_subst)
          op: Equal
          rhs: {(SQ <'s|\\([`"$\\\\]\\)|\\\\\\1|g'>)}
          spids: [1665]
        )
      ]
      spids: [1665]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sed_double_quote_subst)
          op: Equal
          rhs: {(SQ <'s/\\(["`\\\\]\\)/\\\\\\1/g'>)}
          spids: [1674]
        )
      ]
      spids: [1674]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sed_make_literal_regex)
          op: Equal
          rhs: {(SQ <'s|[].[^$\\\\*\\/]|\\\\&|g'>)}
          spids: [1686]
        )
      ]
      spids: [1686]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sed_naive_backslashify)
          op: Equal
          rhs: {(SQ <'s|\\\\\\\\*|\\\\|g;s|/|\\\\|g;s|\\\\|\\\\\\\\|g'>)}
          spids: [1701]
        )
      ]
      spids: [1701]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_G_bs) op:Equal rhs:{(SQ <'\\\\'>)} spids:[1722])]
      spids: [1722]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_G_bs2) op:Equal rhs:{(SQ <'\\\\\\\\'>)} spids:[1727])]
      spids: [1727]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_G_bs4)
          op: Equal
          rhs: {(SQ <'\\\\\\\\\\\\\\\\'>)}
          spids: [1732]
        )
      ]
      spids: [1732]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_G_dollar) op:Equal rhs:{(SQ <'\\$'>)} spids:[1737])]
      spids: [1737]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sed_double_backslash)
          op: Equal
          rhs: 
            {
              (DQ ('  s/') ($ VSub_Name '$_G_bs4') ('/&') 
                (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) ('\n') ('/g\n') ('  s/^') ($ VSub_Name '$_G_bs2') ($ VSub_Name '$_G_dollar') (/) ($ VSub_Name '$_G_bs') 
                ('&/\n') ('  s/') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) ('([^') ($ VSub_Name '$_G_bs') (']') 
                (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (')') ($ VSub_Name '$_G_bs2') ($ VSub_Name '$_G_dollar') (/) 
                (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (1) ($ VSub_Name '$_G_bs2') ($ VSub_Name '$_G_bs') ($ VSub_Name '$_G_dollar') ('/g\n') ('  s/') 
                (Lit_Other '\\') (n//g)
              )
            }
          spids: [1742]
        )
      ]
      spids: [1742]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:EXIT_SUCCESS) op:Equal rhs:{(0)} spids:[1827])]
      spids: [1827]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:EXIT_FAILURE) op:Equal rhs:{(1)} spids:[1830])]
      spids: [1830]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:EXIT_MISMATCH) op:Equal rhs:{(63)} spids:[1833])]
      spids: [1833]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:EXIT_SKIP) op:Equal rhs:{(77)} spids:[1839])]
      spids: [1839]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:debug_cmd)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name debug_cmd>
                suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(DQ (':'))})
                spids: [1862 1868]
              )
            }
          spids: [1861]
        )
      ]
      spids: [1861]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:exit_cmd) op:Equal rhs:{(Lit_Other ':')} spids:[1870])]
      spids: [1870]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:exit_status)
          op: Equal
          rhs: {($ VSub_Name '$EXIT_SUCCESS')}
          spids: [1895]
        )
      ]
      spids: [1895]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:progpath)
          op: Equal
          rhs: {($ VSub_Number '$0')}
          spids: [1914]
        )
      ]
      spids: [1914]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:progname)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Pipeline
                        children: [
                          (C {($ VSub_Name '$ECHO')} {(DQ ($ VSub_Name '$progpath'))})
                          (C {($ VSub_Name '$SED')} {(DQ ($ VSub_Name '$sed_basename'))})
                        ]
                        negated: F
                      )
                    ]
                  )
                left_token: <Left_Backtick '`'>
                spids: [1922 1935]
              )
            }
          spids: [1921]
        )
      ]
      spids: [1921]
    )
    (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: [1948 1960 1962 16777215]
        )
        (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: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {($ VSub_Name '$ECHO')} {(DQ ($ VSub_Name '$progpath'))})
                                  (C {($ VSub_Name '$SED')} {(DQ ($ VSub_Name '$sed_dirname'))})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [1975 1988]
                      )
                    }
                  spids: [1974]
                )
              ]
              spids: [1974]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:progdir)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (AndOr
                                ops: [Op_DAmp]
                                children: [(C {(cd)} {(DQ ($ VSub_Name '$progdir'))}) (C {(pwd)})]
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [1992 2002]
                      )
                    }
                  spids: [1991]
                )
              ]
              spids: [1991]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:progpath)
                  op: Equal
                  rhs: {($ VSub_Name '$progdir') (/) ($ VSub_Name '$progname')}
                  spids: [2005]
                )
              ]
              spids: [2005]
            )
          ]
          spids: [1965 1971 2011 16777215]
        )
        (case_arm
          pat_list: [{(Lit_Other '*')}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_G_IFS)
                  op: Equal
                  rhs: {($ VSub_Name '$IFS')}
                  spids: [2018]
                )
              ]
              spids: [2018]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:IFS)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Name PATH_SEPARATOR>
                        suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(':')})
                        spids: [2023 2027]
                      )
                    }
                  spids: [2022]
                )
              ]
              spids: [2022]
            )
            (ForEach
              iter_name: progdir
              iter_words: [{($ VSub_Name '$PATH')}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {($ VSub_Name '$_G_IFS')}
                          spids: [2042]
                        )
                      ]
                      spids: [2042]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(-x)} {(DQ ($ VSub_Name '$progdir') (/) ($ VSub_Name '$progname'))})
                        (ControlFlow token:<ControlFlow_Break break>)
                      ]
                    )
                  ]
                  spids: [2039 2061]
                )
              spids: [2035 2037]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:IFS)
                  op: Equal
                  rhs: {($ VSub_Name '$_G_IFS')}
                  spids: [2064]
                )
              ]
              spids: [2064]
            )
            (AndOr
              ops: [Op_DPipe]
              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: [2079 2081]
                          )
                        }
                      spids: [2078]
                    )
                  ]
                  spids: [2078]
                )
              ]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:progpath)
                  op: Equal
                  rhs: {($ VSub_Name '$progdir') (/) ($ VSub_Name '$progname')}
                  spids: [2084]
                )
              ]
              spids: [2084]
            )
          ]
          spids: [2014 2015 2090 16777215]
        )
      ]
      spids: [1941 1945 2092]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_dry_run) op:Equal rhs:{(false)} spids:[2116])]
      spids: [2116]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_quiet) op:Equal rhs:{(false)} spids:[2119])]
      spids: [2119]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_verbose) op:Equal rhs:{(false)} spids:[2122])]
      spids: [2122]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:warning_categories)
          op: Equal
          rhs: {(EmptyPart)}
          spids: [2135]
        )
      ]
      spids: [2135]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:warning_func)
          op: Equal
          rhs: {(func_warn_and_continue)}
          spids: [2147]
        )
      ]
      spids: [2147]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_warning_types) op:Equal rhs:{(all)} spids:[2160])]
      spids: [2160]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:require_term_colors)
          op: Equal
          rhs: {(func_require_term_colors)}
          spids: [2216]
        )
      ]
      spids: [2216]
    )
    (FuncDef
      name: func_require_term_colors
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(test)} {(-t)} {(1)})
                (BraceGroup
                  children: [
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name COLORTERM>
                                suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(set)})
                                spids: [2259 2263]
                              )
                            )
                          }
                        )
                        (C {(Lit_Other ':')} 
                          {
                            (BracedVarSub
                              token: <VSub_Name USE_ANSI_COLORS>
                              suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ (1))})
                              spids: [2270 2276]
                            )
                          }
                        )
                      ]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(1)} {(Lit_Other '=')} 
                                  {(DQ ($ VSub_Name '$USE_ANSI_COLORS'))}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:tc_reset)
                                  op: Equal
                                  rhs: {(SQ <'\x1b[0m'>)}
                                  spids: [2300]
                                )
                              ]
                              spids: [2300]
                            )
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:tc_bold)
                                      op: Equal
                                      rhs: {(SQ <'\x1b[1m'>)}
                                      spids: [2306]
                                    )
                                  ]
                                  spids: [2306]
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:tc_standout)
                                  op: Equal
                                  rhs: {(SQ <'\x1b[7m'>)}
                                  spids: [2312]
                                )
                              ]
                              spids: [2312]
                            )
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:tc_red)
                                      op: Equal
                                      rhs: {(SQ <'\x1b[31m'>)}
                                      spids: [2318]
                                    )
                                  ]
                                  spids: [2318]
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:tc_green)
                                  op: Equal
                                  rhs: {(SQ <'\x1b[32m'>)}
                                  spids: [2324]
                                )
                              ]
                              spids: [2324]
                            )
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:tc_blue)
                                      op: Equal
                                      rhs: {(SQ <'\x1b[34m'>)}
                                      spids: [2330]
                                    )
                                  ]
                                  spids: [2330]
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:tc_cyan)
                                  op: Equal
                                  rhs: {(SQ <'\x1b[36m'>)}
                                  spids: [2336]
                                )
                              ]
                              spids: [2336]
                            )
                          ]
                          spids: [16777215 2293]
                        )
                      ]
                      else_action: [
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (C {(test)} {(-n)} 
                              {
                                (DQ 
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (SimpleCommand
                                            words: [{(tput)} {(sgr0)}]
                                            redirects: [
                                              (Redir
                                                op: <Redir_Great '2>'>
                                                fd: 2
                                                arg_word: {(/dev/null)}
                                              )
                                            ]
                                          )
                                        ]
                                      )
                                    left_token: <Left_Backtick '`'>
                                    spids: [2354 2361]
                                  )
                                )
                              }
                            )
                            (BraceGroup
                              children: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:tc_reset)
                                      op: Equal
                                      rhs: 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [(C {(tput)} {(sgr0)})]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [2370 2374]
                                          )
                                        }
                                      spids: [2369]
                                    )
                                  ]
                                  spids: [2369]
                                )
                                (AndOr
                                  ops: [Op_DAmp]
                                  children: [
                                    (C {(test)} {(-n)} 
                                      {
                                        (DQ 
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (SimpleCommand
                                                    words: [{(tput)} {(bold)}]
                                                    redirects: [
                                                      (Redir
                                                        op: <Redir_Great '2>'>
                                                        fd: 2
                                                        arg_word: {(/dev/null)}
                                                      )
                                                    ]
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [2382 2389]
                                          )
                                        )
                                      }
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tc_bold)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [(C {(tput)} {(bold)})]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [2395 2399]
                                              )
                                            }
                                          spids: [2394]
                                        )
                                      ]
                                      spids: [2394]
                                    )
                                  ]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:tc_standout)
                                      op: Equal
                                      rhs: {($ VSub_Name '$tc_bold')}
                                      spids: [2402]
                                    )
                                  ]
                                  spids: [2402]
                                )
                                (AndOr
                                  ops: [Op_DAmp]
                                  children: [
                                    (C {(test)} {(-n)} 
                                      {
                                        (DQ 
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (SimpleCommand
                                                    words: [{(tput)} {(smso)}]
                                                    redirects: [
                                                      (Redir
                                                        op: <Redir_Great '2>'>
                                                        fd: 2
                                                        arg_word: {(/dev/null)}
                                                      )
                                                    ]
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [2411 2418]
                                          )
                                        )
                                      }
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tc_standout)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [(C {(tput)} {(smso)})]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [2424 2428]
                                              )
                                            }
                                          spids: [2423]
                                        )
                                      ]
                                      spids: [2423]
                                    )
                                  ]
                                )
                                (AndOr
                                  ops: [Op_DAmp]
                                  children: [
                                    (C {(test)} {(-n)} 
                                      {
                                        (DQ 
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (SimpleCommand
                                                    words: [{(tput)} {(setaf)} {(1)}]
                                                    redirects: [
                                                      (Redir
                                                        op: <Redir_Great '2>'>
                                                        fd: 2
                                                        arg_word: {(/dev/null)}
                                                      )
                                                    ]
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [2436 2445]
                                          )
                                        )
                                      }
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tc_red)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [(C {(tput)} {(setaf)} {(1)})]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [2451 2457]
                                              )
                                            }
                                          spids: [2450]
                                        )
                                      ]
                                      spids: [2450]
                                    )
                                  ]
                                )
                                (AndOr
                                  ops: [Op_DAmp]
                                  children: [
                                    (C {(test)} {(-n)} 
                                      {
                                        (DQ 
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (SimpleCommand
                                                    words: [{(tput)} {(setaf)} {(2)}]
                                                    redirects: [
                                                      (Redir
                                                        op: <Redir_Great '2>'>
                                                        fd: 2
                                                        arg_word: {(/dev/null)}
                                                      )
                                                    ]
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [2465 2474]
                                          )
                                        )
                                      }
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tc_green)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [(C {(tput)} {(setaf)} {(2)})]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [2480 2486]
                                              )
                                            }
                                          spids: [2479]
                                        )
                                      ]
                                      spids: [2479]
                                    )
                                  ]
                                )
                                (AndOr
                                  ops: [Op_DAmp]
                                  children: [
                                    (C {(test)} {(-n)} 
                                      {
                                        (DQ 
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (SimpleCommand
                                                    words: [{(tput)} {(setaf)} {(4)}]
                                                    redirects: [
                                                      (Redir
                                                        op: <Redir_Great '2>'>
                                                        fd: 2
                                                        arg_word: {(/dev/null)}
                                                      )
                                                    ]
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [2494 2503]
                                          )
                                        )
                                      }
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tc_blue)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [(C {(tput)} {(setaf)} {(4)})]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [2509 2515]
                                              )
                                            }
                                          spids: [2508]
                                        )
                                      ]
                                      spids: [2508]
                                    )
                                  ]
                                )
                                (AndOr
                                  ops: [Op_DAmp]
                                  children: [
                                    (C {(test)} {(-n)} 
                                      {
                                        (DQ 
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (SimpleCommand
                                                    words: [{(tput)} {(setaf)} {(5)}]
                                                    redirects: [
                                                      (Redir
                                                        op: <Redir_Great '2>'>
                                                        fd: 2
                                                        arg_word: {(/dev/null)}
                                                      )
                                                    ]
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [2523 2532]
                                          )
                                        )
                                      }
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tc_cyan)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [(C {(tput)} {(setaf)} {(5)})]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [2538 2544]
                                              )
                                            }
                                          spids: [2537]
                                        )
                                      ]
                                      spids: [2537]
                                    )
                                  ]
                                )
                              ]
                              spids: [2366]
                            )
                          ]
                        )
                      ]
                      spids: [2342 2550]
                    )
                  ]
                  spids: [2239]
                )
              ]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:require_term_colors)
                  op: Equal
                  rhs: {(Lit_Other ':')}
                  spids: [2557]
                )
              ]
              spids: [2557]
            )
          ]
          spids: [2224]
        )
      spids: [2219 2223]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(test)} {(set)} {(Lit_Other '=')} 
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name BASH_VERSION>
                        suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(set)})
                        spids: [2620 2624]
                      ) 
                      (BracedVarSub
                        token: <VSub_Name ZSH_VERSION>
                        suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(set)})
                        spids: [2625 2629]
                      )
                    )
                  }
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(Lit_Other ':')} 
              {
                (BracedVarSub
                  token: <VSub_Name _G_HAVE_ARITH_OP>
                  suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ (yes))})
                  spids: [2638 2644]
                )
              }
            )
            (C {(Lit_Other ':')} 
              {
                (BracedVarSub
                  token: <VSub_Name _G_HAVE_XSI_OPS>
                  suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ (yes))})
                  spids: [2649 2655]
                )
              }
            )
            (Case
              to_match: {($ VSub_Name '$BASH_VERSION')}
              arms: [
                (case_arm
                  pat_list: [
                    {(Lit_Other '[') (12) (Lit_Other ']') (.) (Lit_Other '*')}
                    {(3.0)}
                    {(3.0) (Lit_Other '*')}
                  ]
                  spids: [2669 2683 2685 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (C {(Lit_Other ':')} 
                      {
                        (BracedVarSub
                          token: <VSub_Name _G_HAVE_PLUSEQ_OP>
                          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ (yes))})
                          spids: [2694 2700]
                        )
                      }
                    )
                  ]
                  spids: [2688 2689 2703 16777215]
                )
              ]
              spids: [2662 2666 2706]
            )
          ]
          spids: [16777215 2633]
        )
      ]
      spids: [16777215 2709]
    )
    (AndOr
      ops: [Op_DAmp Op_DAmp]
      children: [
        (C {(test)} {(-z)} {(DQ ($ VSub_Name '$_G_HAVE_PLUSEQ_OP'))})
        (Subshell
          child: (C {(eval)} {(SQ <'x=a; x+=" b"; test "a b" = "$x"'>)})
          redirects: [(Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})]
          spids: [2737 2743]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:_G_HAVE_PLUSEQ_OP)
              op: Equal
              rhs: {(yes)}
              spids: [2752]
            )
          ]
          spids: [2752]
        )
      ]
    )
    (If
      arms: [
        (if_arm
          cond: [(C {(test)} {(yes)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$_G_HAVE_PLUSEQ_OP'))})]
          action: [
            (C {(eval)} 
              {
                (SQ <'func_append ()\n'> <'  {\n'> <'    $debug_cmd\n'> <'\n'> <'    eval "$1+=\\$2"\n'> 
                  <'  }'>
                )
              }
            )
          ]
          spids: [16777215 2768]
        )
      ]
      else_action: [
        (FuncDef
          name: func_append
          body: 
            (BraceGroup
              children: [
                (C {($ VSub_Name '$debug_cmd')})
                (C {(eval)} 
                  {
                    (DQ ($ VSub_Number '$1') ('=') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                      ($ VSub_Number '$1') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (2)
                    )
                  }
                )
              ]
              spids: [2799]
            )
          spids: [2793 2797]
        )
      ]
      spids: [2786 2820]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(test)} {(yes)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$_G_HAVE_PLUSEQ_OP'))})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(eval)} 
              {
                (SQ <'func_append_quoted ()\n'> <'  {\n'> <'    $debug_cmd\n'> <'\n'> 
                  <'    func_quote_for_eval "$2"\n'> <'    eval "$1+=\\\\ \\$func_quote_for_eval_result"\n'> <'  }'>
                )
              }
            )
          ]
          spids: [16777215 2849]
        )
      ]
      else_action: [
        (FuncDef
          name: func_append_quoted
          body: 
            (BraceGroup
              children: [
                (C {($ VSub_Name '$debug_cmd')})
                (C {(func_quote_for_eval)} {(DQ ($ VSub_Number '$2'))})
                (C {(eval)} 
                  {
                    (DQ ($ VSub_Number '$1') ('=') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                      ($ VSub_Number '$1') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (' ') 
                      (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (func_quote_for_eval_result)
                    )
                  }
                )
              ]
              spids: [2873]
            )
          spids: [2867 2871]
        )
      ]
      spids: [2864 2903]
    )
    (FuncDef
      name: func_append_uniq
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (C {(eval)} 
              {(Lit_VarLike '_G_current_value=') (SQ <'`$ECHO $'>) ($ VSub_Number '$1') (SQ <'`'>)}
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_G_delim)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(expr)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ':')} {(SQ <'\\(.\\)'>)})
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [2962 2974]
                      )
                    }
                  spids: [2961]
                )
              ]
              spids: [2961]
            )
            (Case
              to_match: 
                {($ VSub_Name '$_G_delim') ($ VSub_Name '$_G_current_value') 
                  ($ VSub_Name '$_G_delim')
                }
              arms: [
                (case_arm
                  pat_list: [
                    {(Lit_Other '*') (DQ ($ VSub_Number '$2') ($ VSub_Name '$_G_delim')) 
                      (Lit_Other '*')
                    }
                  ]
                  spids: [2987 2993 2995 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [(C {(func_append)} {(DQ ($ VSub_At '$@'))})]
                  spids: [2998 2999 3007 16777215]
                )
              ]
              spids: [2978 2984 3010]
            )
          ]
          spids: [2942]
        )
      spids: [2937 2941]
    )
    (AndOr
      ops: [Op_DAmp Op_DAmp]
      children: [
        (C {(test)} {(-z)} {(DQ ($ VSub_Name '$_G_HAVE_ARITH_OP'))})
        (Subshell
          child: (C {(eval)} {(SQ <'test 2 = $(( 1 + 1 ))'>)})
          redirects: [(Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})]
          spids: [3038 3044]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:_G_HAVE_ARITH_OP) op:Equal rhs:{(yes)} spids:[3053])]
          spids: [3053]
        )
      ]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(test)} {(yes)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$_G_HAVE_ARITH_OP'))})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(eval)} 
              {
                (SQ <'func_arith ()\n'> <'  {\n'> <'    $debug_cmd\n'> <'\n'> 
                  <'    func_arith_result=$(( $* ))\n'> <'  }'>
                )
              }
            )
          ]
          spids: [16777215 3070]
        )
      ]
      else_action: [
        (FuncDef
          name: func_arith
          body: 
            (BraceGroup
              children: [
                (C {($ VSub_Name '$debug_cmd')})
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:func_arith_result)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [(C {(expr)} {(DQ ($ VSub_At '$@'))})]
                              )
                            left_token: <Left_Backtick '`'>
                            spids: [3101 3107]
                          )
                        }
                      spids: [3100]
                    )
                  ]
                  spids: [3100]
                )
              ]
              spids: [3093]
            )
          spids: [3087 3091]
        )
      ]
      spids: [3084 3112]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(test)} {(yes)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$_G_HAVE_XSI_OPS'))})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_b)
                  op: Equal
                  rhs: {(SQ <'func_basename_result=${1##*/}'>)}
                  spids: [3156]
                )
              ]
              spids: [3156]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_d)
                  op: Equal
                  rhs: 
                    {
                      (SQ <'case $1 in\n'> <'        */*) func_dirname_result=${1%/*}$2 ;;\n'> 
                        <'        *  ) func_dirname_result=$3        ;;\n'> <'      esac'>
                      )
                    }
                  spids: [3162]
                )
              ]
              spids: [3162]
            )
          ]
          spids: [16777215 3141]
        )
      ]
      else_action: [
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:_b)
              op: Equal
              rhs: {(SQ <'func_basename_result=`$ECHO "$1" |$SED "$sed_basename"`'>)}
              spids: [3178]
            )
          ]
          spids: [3178]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:_d)
              op: Equal
              rhs: 
                {
                  (SQ <'func_dirname_result=`$ECHO "$1"  |$SED "$sed_dirname"`\n'> 
                    <'      if test "X$func_dirname_result" = "X$1"; then\n'> <'        func_dirname_result=$3\n'> <'      else\n'> 
                    <'        func_append func_dirname_result "$2"\n'> <'      fi'>
                  )
                }
              spids: [3184]
            )
          ]
          spids: [3184]
        )
      ]
      spids: [3171 3194]
    )
    (C {(eval)} 
      {(SQ <'func_basename ()\n'> <'{\n'> <'    $debug_cmd\n'> <'\n'> <'    '>) 
        (DQ ($ VSub_Name '$_b')) (SQ <'\n'> <'}'>)
      }
    )
    (C {(eval)} 
      {(SQ <'func_dirname ()\n'> <'{\n'> <'    $debug_cmd\n'> <'\n'> <'    '>) 
        (DQ ($ VSub_Name '$_d')) (SQ <'\n'> <'}'>)
      }
    )
    (C {(eval)} 
      {(SQ <'func_dirname_and_basename ()\n'> <'{\n'> <'    $debug_cmd\n'> <'\n'> <'    '>) 
        (DQ ($ VSub_Name '$_b')) (SQ <'\n'> <'    '>) (DQ ($ VSub_Name '$_d')) (SQ <'\n'> <'}'>)
      }
    )
    (FuncDef
      name: func_echo
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_G_message)
                  op: Equal
                  rhs: {($ VSub_Star '$*')}
                  spids: [3330]
                )
              ]
              spids: [3330]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_echo_IFS)
                  op: Equal
                  rhs: {($ VSub_Name '$IFS')}
                  spids: [3335]
                )
              ]
              spids: [3335]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:IFS)
                  op: Equal
                  rhs: {($ VSub_Name '$nl')}
                  spids: [3339]
                )
              ]
              spids: [3339]
            )
            (ForEach
              iter_name: _G_line
              iter_words: [{($ VSub_Name '$_G_message')}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {($ VSub_Name '$func_echo_IFS')}
                          spids: [3355]
                        )
                      ]
                      spids: [3355]
                    )
                    (C {($ VSub_Name '$ECHO')} 
                      {(DQ ($ VSub_Name '$progname') (': ') ($ VSub_Name '$_G_line'))}
                    )
                  ]
                  spids: [3352 3368]
                )
              spids: [3348 3350]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:IFS)
                  op: Equal
                  rhs: {($ VSub_Name '$func_echo_IFS')}
                  spids: [3371]
                )
              ]
              spids: [3371]
            )
          ]
          spids: [3323]
        )
      spids: [3318 3322]
    )
    (FuncDef
      name: func_echo_all
      body: 
        (BraceGroup
          children: [(C {($ VSub_Name '$ECHO')} {(DQ ($ VSub_Star '$*'))})]
          spids: [3392]
        )
      spids: [3387 3391]
    )
    (FuncDef
      name: func_echo_infix_1
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (C {($ VSub_Name '$require_term_colors')})
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:_G_infix)
                      op: Equal
                      rhs: {($ VSub_Number '$1')}
                      spids: [3433]
                    )
                  ]
                  spids: [3433]
                )
              terminator: <Op_Semi ';'>
            )
            (C {(shift)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_G_indent)
                  op: Equal
                  rhs: {($ VSub_Name '$_G_infix')}
                  spids: [3440]
                )
              ]
              spids: [3440]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_G_prefix)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$progname') (': ') ($ VSub_Name '$_G_infix') (': '))}
                  spids: [3444]
                )
              ]
              spids: [3444]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_G_message)
                  op: Equal
                  rhs: {($ VSub_Star '$*')}
                  spids: [3453]
                )
              ]
              spids: [3453]
            )
            (ForEach
              iter_name: _G_tc
              iter_words: [
                {(DQ ($ VSub_Name '$tc_reset'))}
                {(DQ ($ VSub_Name '$tc_bold'))}
                {(DQ ($ VSub_Name '$tc_standout'))}
                {(DQ ($ VSub_Name '$tc_red'))}
                {(DQ ($ VSub_Name '$tc_green'))}
                {(DQ ($ VSub_Name '$tc_blue'))}
                {(DQ ($ VSub_Name '$tc_cyan'))}
              ]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$_G_tc'))})
                        (BraceGroup
                          children: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:_G_esc_tc)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$ECHO')} 
                                                    {(DQ ($ VSub_Name '$_G_tc'))}
                                                  )
                                                  (C {($ VSub_Name '$SED')} 
                                                    {(DQ ($ VSub_Name '$sed_make_literal_regex'))}
                                                  )
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [3514 3528]
                                      )
                                    }
                                  spids: [3513]
                                )
                              ]
                              spids: [3513]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:_G_indent)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$ECHO')} 
                                                    {(DQ ($ VSub_Name '$_G_indent'))}
                                                  )
                                                  (C {($ VSub_Name '$SED')} 
                                                    {(DQ ('s|') ($ VSub_Name '$_G_esc_tc') ('||g'))}
                                                  )
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [3532 3548]
                                      )
                                    }
                                  spids: [3531]
                                )
                              ]
                              spids: [3531]
                            )
                          ]
                          spids: [3510]
                        )
                      ]
                    )
                  ]
                  spids: [3497 3554]
                )
              spids: [3467 16777215]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_G_indent)
                  op: Equal
                  rhs: 
                    {(DQ ($ VSub_Name '$progname') (': ')) 
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(echo)} {(DQ ($ VSub_Name '$_G_indent'))})
                                  (C {($ VSub_Name '$SED')} {(SQ <'s|.| |g'>)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [3562 3576]
                      ) (DQ ('  '))
                    }
                  spids: [3557]
                )
              ]
              spids: [3557]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_echo_infix_1_IFS)
                  op: Equal
                  rhs: {($ VSub_Name '$IFS')}
                  spids: [3586]
                )
              ]
              spids: [3586]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:IFS)
                  op: Equal
                  rhs: {($ VSub_Name '$nl')}
                  spids: [3590]
                )
              ]
              spids: [3590]
            )
            (ForEach
              iter_name: _G_line
              iter_words: [{($ VSub_Name '$_G_message')}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {($ VSub_Name '$func_echo_infix_1_IFS')}
                          spids: [3606]
                        )
                      ]
                      spids: [3606]
                    )
                    (SimpleCommand
                      words: [
                        {($ VSub_Name '$ECHO')}
                        {
                          (DQ ($ VSub_Name '$_G_prefix') ($ VSub_Name '$tc_bold') 
                            ($ VSub_Name '$_G_line') ($ VSub_Name '$tc_reset')
                          )
                        }
                      ]
                      redirects: [(Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_G_prefix)
                          op: Equal
                          rhs: {($ VSub_Name '$_G_indent')}
                          spids: [3623]
                        )
                      ]
                      spids: [3623]
                    )
                  ]
                  spids: [3603 3627]
                )
              spids: [3599 3601]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:IFS)
                  op: Equal
                  rhs: {($ VSub_Name '$func_echo_infix_1_IFS')}
                  spids: [3630]
                )
              ]
              spids: [3630]
            )
          ]
          spids: [3422]
        )
      spids: [3417 3421]
    )
    (FuncDef
      name: func_error
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (C {($ VSub_Name '$require_term_colors')})
            (SimpleCommand
              words: [
                {(func_echo_infix_1)}
                {
                  (DQ ('  ') ($ VSub_Name '$tc_standout') (${ VSub_Name tc_red) (error) 
                    ($ VSub_Name '$tc_reset')
                  )
                }
                {(DQ ($ VSub_Star '$*'))}
              ]
              redirects: [(Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})]
            )
          ]
          spids: [3651]
        )
      spids: [3646 3650]
    )
    (FuncDef
      name: func_fatal_error
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (C {(func_error)} {(DQ ($ VSub_Star '$*'))})
            (ControlFlow
              token: <ControlFlow_Exit exit>
              arg_word: {($ VSub_Name '$EXIT_FAILURE')}
            )
          ]
          spids: [3699]
        )
      spids: [3694 3698]
    )
    (FuncDef
      name: func_grep
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (SimpleCommand
              words: [{($ VSub_Name '$GREP')} {(DQ ($ VSub_Number '$1'))} {(DQ ($ VSub_Number '$2'))}]
              redirects: [
                (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})
                (Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})
              ]
            )
          ]
          spids: [3735]
        )
      spids: [3730 3734]
    )
    (AndOr
      ops: [Op_DAmp Op_DAmp]
      children: [
        (C {(test)} {(-z)} {(DQ ($ VSub_Name '$_G_HAVE_XSI_OPS'))})
        (Subshell
          child: 
            (C {(eval)} 
              {(SQ <'x=a/b/c;\n'> <'      test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"'>)}
            )
          redirects: [(Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})]
          spids: [3787 3794]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:_G_HAVE_XSI_OPS) op:Equal rhs:{(yes)} spids:[3803])]
          spids: [3803]
        )
      ]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(test)} {(yes)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$_G_HAVE_XSI_OPS'))})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(eval)} 
              {
                (SQ <'func_len ()\n'> <'  {\n'> <'    $debug_cmd\n'> <'\n'> 
                  <'    func_len_result=${#1}\n'> <'  }'>
                )
              }
            )
          ]
          spids: [16777215 3820]
        )
      ]
      else_action: [
        (FuncDef
          name: func_len
          body: 
            (BraceGroup
              children: [
                (C {($ VSub_Name '$debug_cmd')})
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:func_len_result)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (AndOr
                                    ops: [Op_DPipe]
                                    children: [
                                      (SimpleCommand
                                        words: [
                                          {(expr)}
                                          {(DQ ($ VSub_Number '$1'))}
                                          {(Lit_Other ':')}
                                          {(DQ ('.*'))}
                                        ]
                                        redirects: [
                                          (Redir
                                            op: <Redir_Great '2>'>
                                            fd: 2
                                            arg_word: {(/dev/null)}
                                          )
                                        ]
                                      )
                                      (C {(echo)} {($ VSub_Name '$max_cmd_len')})
                                    ]
                                  )
                                ]
                              )
                            left_token: <Left_Backtick '`'>
                            spids: [3851 3872]
                          )
                        }
                      spids: [3850]
                    )
                  ]
                  spids: [3850]
                )
              ]
              spids: [3843]
            )
          spids: [3837 3841]
        )
      ]
      spids: [3834 3877]
    )
    (FuncDef
      name: func_mkdir_p
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_G_directory_path)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [3902]
                )
              ]
              spids: [3902]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_G_dir_list)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [3906]
                )
              ]
              spids: [3906]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$_G_directory_path'))})
                            (C {(test)} {(Lit_Other ':')} {(KW_Bang '!') (Lit_Other '=')} 
                              {(DQ ($ VSub_Name '$opt_dry_run'))}
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Case
                      to_match: {($ VSub_Name '$_G_directory_path')}
                      arms: [
                        (case_arm
                          pat_list: [{(-) (Lit_Other '*')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:_G_directory_path)
                                  op: Equal
                                  rhs: {(./) ($ VSub_Name '$_G_directory_path')}
                                  spids: [3953]
                                )
                              ]
                              spids: [3953]
                            )
                          ]
                          spids: [3949 3951 3957 16777215]
                        )
                      ]
                      spids: [3942 3946 3960]
                    )
                    (WhileUntil
                      keyword: <KW_While while>
                      cond: [
                        (Sentence
                          child: 
                            (C {(test)} {(KW_Bang '!')} {(-d)} {(DQ ($ VSub_Name '$_G_directory_path'))})
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      body: 
                        (DoGroup
                          children: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:_G_dir_list)
                                  op: Equal
                                  rhs: 
                                    {($ VSub_Name '$_G_directory_path') (Lit_Other ':') 
                                      ($ VSub_Name '$_G_dir_list')
                                    }
                                  spids: [3992]
                                )
                              ]
                              spids: [3992]
                            )
                            (Case
                              to_match: {($ VSub_Name '$_G_directory_path')}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (/) (Lit_Other '*')}]
                                  spids: [4009 4012 4014 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [(ControlFlow token:<ControlFlow_Break break>)]
                                  spids: [4016 4017 4021 16777215]
                                )
                              ]
                              spids: [4003 4007 4023]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:_G_directory_path)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$ECHO')} 
                                                    {(DQ ($ VSub_Name '$_G_directory_path'))}
                                                  )
                                                  (C {($ VSub_Name '$SED')} {(-e)} 
                                                    {(DQ ($ VSub_Name '$sed_dirname'))}
                                                  )
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [4032 4048]
                                      )
                                    }
                                  spids: [4031]
                                )
                              ]
                              spids: [4031]
                            )
                          ]
                          spids: [3981 4051]
                        )
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_G_dir_list)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {($ VSub_Name '$ECHO')} {(DQ ($ VSub_Name '$_G_dir_list'))})
                                          (C {($ VSub_Name '$SED')} {(SQ <'s|:*$||'>)})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [4055 4069]
                              )
                            }
                          spids: [4054]
                        )
                      ]
                      spids: [4054]
                    )
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:func_mkdir_p_IFS)
                              op: Equal
                              rhs: {($ VSub_Name '$IFS')}
                              spids: [4073]
                            )
                          ]
                          spids: [4073]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {(Lit_Other ':')}
                          spids: [4077]
                        )
                      ]
                      spids: [4077]
                    )
                    (ForEach
                      iter_name: _G_dir
                      iter_words: [{($ VSub_Name '$_G_dir_list')}]
                      do_arg_iter: F
                      body: 
                        (DoGroup
                          children: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_mkdir_p_IFS')}
                                  spids: [4093]
                                )
                              ]
                              spids: [4093]
                            )
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (SimpleCommand
                                  words: [{($ VSub_Name '$MKDIR')} {(DQ ($ VSub_Name '$_G_dir'))}]
                                  redirects: [(Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})]
                                )
                                (C {(Lit_Other ':')})
                              ]
                            )
                          ]
                          spids: [4090 4123]
                        )
                      spids: [4086 4088]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {($ VSub_Name '$func_mkdir_p_IFS')}
                          spids: [4126]
                        )
                      ]
                      spids: [4126]
                    )
                    (AndOr
                      ops: [Op_DPipe]
                      children: [
                        (C {(test)} {(-d)} {(DQ ($ VSub_Name '$_G_directory_path'))})
                        (C {(func_fatal_error)} {(DQ ("Failed to create '") ($ VSub_Number '$1') ("'"))})
                      ]
                    )
                  ]
                  spids: [16777215 3934]
                )
              ]
              spids: [16777215 4156]
            )
          ]
          spids: [3895]
        )
      spids: [3890 3894]
    )
    (FuncDef
      name: func_mktempdir
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_G_template)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Name TMPDIR>
                        suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(Lit_Slash /) (tmp)})
                        spids: [4190 4195]
                      ) (/) 
                      (BracedVarSub
                        token: <VSub_Number 1>
                        suffix_op: 
                          (StringUnary
                            op_id: VTest_Hyphen
                            arg_word: {($ VSub_Name '$progname')}
                          )
                        spids: [4197 4201]
                      )
                    }
                  spids: [4189]
                )
              ]
              spids: [4189]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(Lit_Other ':')} {(Lit_Other '=')} 
                          {(DQ ($ VSub_Name '$opt_dry_run'))}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_G_tmpdir)
                          op: Equal
                          rhs: {($ VSub_Name '$_G_template') (-) ($ VSub_Dollar '$$')}
                          spids: [4225]
                        )
                      ]
                      spids: [4225]
                    )
                  ]
                  spids: [16777215 4218]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:_G_tmpdir)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (SimpleCommand
                                    words: [
                                      {(mktemp)}
                                      {(-d)}
                                      {(DQ ($ VSub_Name '$_G_template') (-XXXXXXXX))}
                                    ]
                                    redirects: [
                                      (Redir
                                        op: <Redir_Great '2>'>
                                        fd: 2
                                        arg_word: {(/dev/null)}
                                      )
                                    ]
                                  )
                                ]
                              )
                            left_token: <Left_Backtick '`'>
                            spids: [4240 4252]
                          )
                        }
                      spids: [4239]
                    )
                  ]
                  spids: [4239]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: (C {(test)} {(KW_Bang '!')} {(-d)} {(DQ ($ VSub_Name '$_G_tmpdir'))})
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:_G_tmpdir)
                              op: Equal
                              rhs: 
                                {($ VSub_Name '$_G_template') (-) 
                                  (BracedVarSub
                                    token: <VSub_Name RANDOM>
                                    suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(0)})
                                    spids: [4279 4283]
                                  ) ($ VSub_Dollar '$$')
                                }
                              spids: [4276]
                            )
                          ]
                          spids: [4276]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:func_mktempdir_umask)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: (CommandList children:[(C {(umask)})])
                                    left_token: <Left_Backtick '`'>
                                    spids: [4289 4291]
                                  )
                                }
                              spids: [4288]
                            )
                          ]
                          spids: [4288]
                        )
                        (C {(umask)} {(0077)})
                        (C {($ VSub_Name '$MKDIR')} {(DQ ($ VSub_Name '$_G_tmpdir'))})
                        (C {(umask)} {($ VSub_Name '$func_mktempdir_umask')})
                      ]
                      spids: [16777215 4269]
                    )
                  ]
                  spids: [16777215 4311]
                )
                (AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(test)} {(-d)} {(DQ ($ VSub_Name '$_G_tmpdir'))})
                    (C {(func_fatal_error)} 
                      {(DQ ("cannot create temporary directory '") ($ VSub_Name '$_G_tmpdir') ("'"))}
                    )
                  ]
                )
              ]
              spids: [4231 4340]
            )
            (C {($ VSub_Name '$ECHO')} {(DQ ($ VSub_Name '$_G_tmpdir'))})
          ]
          spids: [4182]
        )
      spids: [4177 4181]
    )
    (FuncDef
      name: func_normal_abspath
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_G_pathcar)
                  op: Equal
                  rhs: {(SQ <'s|^/\\([^/]*\\).*$|\\1|'>)}
                  spids: [4385]
                )
              ]
              spids: [4385]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_G_pathcdr)
                  op: Equal
                  rhs: {(SQ <'s|^/[^/]*||'>)}
                  spids: [4391]
                )
              ]
              spids: [4391]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_G_removedotparts)
                  op: Equal
                  rhs: {(SQ <':dotsl\n'> <'\t\ts|/\\./|/|g\n'> <'\t\tt dotsl\n'> <'\t\ts|/\\.$|/|'>)}
                  spids: [4397]
                )
              ]
              spids: [4397]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_G_collapseslashes)
                  op: Equal
                  rhs: {(SQ <'s|/\\{1,\\}|/|g'>)}
                  spids: [4406]
                )
              ]
              spids: [4406]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_G_finalslash)
                  op: Equal
                  rhs: {(SQ <'s|/*$|/|'>)}
                  spids: [4412]
                )
              ]
              spids: [4412]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_normal_abspath_result)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [4423]
                )
              ]
              spids: [4423]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_normal_abspath_tpath)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [4426]
                )
              ]
              spids: [4426]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_normal_abspath_altnamespace)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [4430]
                )
              ]
              spids: [4430]
            )
            (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: [4459 4461]
                          )
                        )
                      }
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_normal_abspath_result)
                          op: Equal
                          rhs: {($ VSub_Name '$func_stripname_result')}
                          spids: [4465]
                        )
                      ]
                      spids: [4465]
                    )
                    (ControlFlow token:<ControlFlow_Return return>)
                  ]
                  spids: [4440 4442 4472 16777215]
                )
                (case_arm
                  pat_list: [{(///) (Lit_Other '*')}]
                  spids: [4487 4489 4496 16777215]
                )
                (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: [4516]
                        )
                      ]
                      spids: [4516]
                    )
                  ]
                  spids: [4499 4501 4520 16777215]
                )
                (case_arm
                  pat_list: [{(/) (Lit_Other '*')}]
                  spids: [4523 4525 4532 16777215]
                )
                (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: [4544 4546]
                              ) (/) ($ VSub_Name '$func_normal_abspath_tpath')
                            }
                          spids: [4543]
                        )
                      ]
                      spids: [4543]
                    )
                  ]
                  spids: [4535 4536 4551 16777215]
                )
              ]
              spids: [4433 4437 4554]
            )
            (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 '$_G_removedotparts'))} {(-e)} {(DQ ($ VSub_Name '$_G_collapseslashes'))} {(-e)} {(DQ ($ VSub_Name '$_G_finalslash'))}
                                  )
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [4571 4601]
                      )
                    }
                  spids: [4570]
                )
              ]
              spids: [4570]
            )
            (WhileUntil
              keyword: <KW_While while>
              cond: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(/)} {(Lit_Other '=')} 
                                  {(DQ ($ VSub_Name '$func_normal_abspath_tpath'))}
                                )
                              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: [4650]
                                        )
                                      ]
                                      spids: [4650]
                                    )
                                  ]
                                  spids: [16777215 4647]
                                )
                              ]
                              spids: [16777215 4654]
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [16777215 4629]
                        )
                      ]
                      spids: [16777215 4660]
                    )
                    (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 '$_G_pathcar'))}
                                          )
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [4664 4682]
                              )
                            }
                          spids: [4663]
                        )
                      ]
                      spids: [4663]
                    )
                    (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 '$_G_pathcdr'))}
                                          )
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [4686 4704]
                              )
                            }
                          spids: [4685]
                        )
                      ]
                      spids: [4685]
                    )
                    (Case
                      to_match: {($ VSub_Name '$func_normal_abspath_tcomponent')}
                      arms: [
                        (case_arm
                          pat_list: [{(DQ )}]
                          spids: [4718 4720 4727 16777215]
                        )
                        (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: [4745]
                                )
                              ]
                              spids: [4745]
                            )
                          ]
                          spids: [4730 4731 4749 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (C {(func_append)} {(func_normal_abspath_result)} 
                              {(DQ (/) ($ VSub_Name '$func_normal_abspath_tcomponent'))}
                            )
                          ]
                          spids: [4752 4753 4770 16777215]
                        )
                      ]
                      spids: [4711 4715 4773]
                    )
                  ]
                  spids: [4609 4776]
                )
            )
            (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: [4783]
                )
              ]
              spids: [4783]
            )
          ]
          spids: [4374]
        )
      spids: [4369 4373]
    )
    (FuncDef
      name: func_notquiet
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (AndOr
              ops: [Op_DPipe]
              children: [
                (C {($ VSub_Name '$opt_quiet')})
                (C {(func_echo)} 
                  {
                    (BracedVarSub
                      token: <VSub_Number 1>
                      suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                      spids: [4818 4824]
                    )
                  }
                )
              ]
            )
            (C {(Lit_Other ':')})
          ]
          spids: [4805]
        )
      spids: [4800 4804]
    )
    (FuncDef
      name: func_relative_path
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_relative_path_result)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [4867]
                )
              ]
              spids: [4867]
            )
            (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: [4877]
                )
              ]
              spids: [4877]
            )
            (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: [4888]
                )
              ]
              spids: [4888]
            )
            (WhileUntil
              keyword: <KW_While 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: {(EmptyPart)}
                                  spids: [4924]
                                )
                              ]
                              spids: [4924]
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [4916 4917 4930 16777215]
                        )
                        (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: [4956]
                                )
                              ]
                              spids: [4956]
                            )
                            (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: [4974]
                                        )
                                      ]
                                      spids: [4974]
                                    )
                                  ]
                                  spids: [16777215 4971]
                                )
                              ]
                              spids: [16777215 4978]
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [4933 4935 4984 16777215]
                        )
                        (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: [4996]
                                )
                              ]
                              spids: [4996]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-z)} 
                                          {(DQ ($ VSub_Name '$func_relative_path_tlibdir'))}
                                        )
                                      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: [5018]
                                        )
                                      ]
                                      spids: [5018]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_relative_path_tcancelled)
                                          op: Equal
                                          rhs: {($ VSub_Name '$func_relative_path_tbindir')}
                                          spids: [5023]
                                        )
                                      ]
                                      spids: [5023]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Break break>
                                    )
                                  ]
                                  spids: [16777215 5011]
                                )
                              ]
                              spids: [16777215 5030]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:func_relative_path_result)
                                  op: Equal
                                  rhs: {(../) ($ VSub_Name '$func_relative_path_result')}
                                  spids: [5033]
                                )
                              ]
                              spids: [5033]
                            )
                          ]
                          spids: [4987 4988 5038 16777215]
                        )
                      ]
                      spids: [4909 4913 5041]
                    )
                  ]
                  spids: [4902 5044]
                )
            )
            (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: [5066]
                )
              ]
              spids: [5066]
            )
            (C {(func_stripname)} {(SQ </>)} {(SQ </>)} 
              {(DQ ($ VSub_Name '$func_relative_path_tcancelled'))}
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$func_stripname_result'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(func_append)} {(func_relative_path_result)} 
                      {(DQ (/) ($ VSub_Name '$func_stripname_result'))}
                    )
                  ]
                  spids: [16777215 5096]
                )
              ]
              spids: [16777215 5109]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(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: [5145]
                        )
                      ]
                      spids: [5145]
                    )
                  ]
                  spids: [16777215 5128]
                )
              ]
              spids: [16777215 5149]
            )
            (AndOr
              ops: [Op_DPipe]
              children: [
                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$func_relative_path_result'))})
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:func_relative_path_result)
                      op: Equal
                      rhs: {(.)}
                      spids: [5163]
                    )
                  ]
                  spids: [5163]
                )
              ]
            )
            (C {(Lit_Other ':')})
          ]
          spids: [4860]
        )
      spids: [4855 4859]
    )
    (FuncDef
      name: func_quote_for_eval
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_quote_for_eval_unquoted_result)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [5213]
                )
              ]
              spids: [5213]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_quote_for_eval_result)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [5216]
                )
              ]
              spids: [5216]
            )
            (WhileUntil
              keyword: <KW_While while>
              cond: [
                (Sentence
                  child: (C {(test)} {(0)} {(-lt)} {($ VSub_Pound '$#')})
                  terminator: <Op_Semi ';'>
                )
              ]
              body: 
                (DoGroup
                  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:_G_unquoted_arg)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(printf)} {(SQ <'%s\\n'>)} 
                                                    {(DQ ($ VSub_Number '$1'))}
                                                  )
                                                  (C {($ VSub_Name '$SED')} 
                                                    {(DQ ($ VSub_Name '$sed_quote_subst'))}
                                                  )
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [5252 5269]
                                      )
                                    }
                                  spids: [5251]
                                )
                              ]
                              spids: [5251]
                            )
                          ]
                          spids: [5240 5248 5271 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:_G_unquoted_arg)
                                  op: Equal
                                  rhs: {($ VSub_Number '$1')}
                                  spids: [5278]
                                )
                              ]
                              spids: [5278]
                            )
                          ]
                          spids: [5274 5275 5281 16777215]
                        )
                      ]
                      spids: [5233 5237 5284]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(-n)} 
                                  {(DQ ($ VSub_Name '$func_quote_for_eval_unquoted_result'))}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(func_append)} {(func_quote_for_eval_unquoted_result)} 
                              {(DQ (' ') ($ VSub_Name '$_G_unquoted_arg'))}
                            )
                          ]
                          spids: [16777215 5298]
                        )
                      ]
                      else_action: [
                        (C {(func_append)} {(func_quote_for_eval_unquoted_result)} 
                          {(DQ ($ VSub_Name '$_G_unquoted_arg'))}
                        )
                      ]
                      spids: [5311 5323]
                    )
                    (Case
                      to_match: {($ VSub_Name '$_G_unquoted_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:_G_quoted_arg)
                                  op: Equal
                                  rhs: 
                                    {(EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                      ($ VSub_Name '$_G_unquoted_arg') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                    }
                                  spids: [5386]
                                )
                              ]
                              spids: [5386]
                            )
                          ]
                          spids: [5354 5383 5392 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:_G_quoted_arg)
                                  op: Equal
                                  rhs: {($ VSub_Name '$_G_unquoted_arg')}
                                  spids: [5399]
                                )
                              ]
                              spids: [5399]
                            )
                          ]
                          spids: [5395 5396 5403 16777215]
                        )
                      ]
                      spids: [5327 5331 5406]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$func_quote_for_eval_result'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(func_append)} {(func_quote_for_eval_result)} 
                              {(DQ (' ') ($ VSub_Name '$_G_quoted_arg'))}
                            )
                          ]
                          spids: [16777215 5421]
                        )
                      ]
                      else_action: [
                        (C {(func_append)} {(func_quote_for_eval_result)} 
                          {(DQ ($ VSub_Name '$_G_quoted_arg'))}
                        )
                      ]
                      spids: [5434 5446]
                    )
                    (C {(shift)})
                  ]
                  spids: [5230 5452]
                )
            )
          ]
          spids: [5206]
        )
      spids: [5201 5205]
    )
    (FuncDef
      name: func_quote_for_expand
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (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:_G_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 '$sed_double_quote_subst'))} {(-e)} {(DQ ($ VSub_Name '$sed_double_backslash'))}
                                          )
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [5500 5524]
                              )
                            }
                          spids: [5499]
                        )
                      ]
                      spids: [5499]
                    )
                  ]
                  spids: [5489 5496 5526 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_G_arg)
                          op: Equal
                          rhs: {($ VSub_Number '$1')}
                          spids: [5533]
                        )
                      ]
                      spids: [5533]
                    )
                  ]
                  spids: [5529 5530 5536 16777215]
                )
              ]
              spids: [5482 5486 5539]
            )
            (Case
              to_match: {($ VSub_Name '$_G_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:_G_arg)
                          op: Equal
                          rhs: 
                            {(EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                              ($ VSub_Name '$_G_arg') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                            }
                          spids: [5598]
                        )
                      ]
                      spids: [5598]
                    )
                  ]
                  spids: [5566 5595 5604 16777215]
                )
              ]
              spids: [5543 5547 5607]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_quote_for_expand_result)
                  op: Equal
                  rhs: {($ VSub_Name '$_G_arg')}
                  spids: [5611]
                )
              ]
              spids: [5611]
            )
          ]
          spids: [5475]
        )
      spids: [5470 5474]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(test)} {(yes)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$_G_HAVE_XSI_OPS'))})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(eval)} 
              {
                (SQ <'func_stripname ()\n'> <'  {\n'> <'    $debug_cmd\n'> <'\n'> 
                  <'    # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\n'> <'    # positional parameters, so assign one to ordinary variable first.\n'> 
                  <'    func_stripname_result=$3\n'> <'    func_stripname_result=${func_stripname_result#"$1"}\n'> 
                  <'    func_stripname_result=${func_stripname_result%"$2"}\n'> <'  }'>
                )
              }
            )
          ]
          spids: [16777215 5649]
        )
      ]
      else_action: [
        (FuncDef
          name: func_stripname
          body: 
            (BraceGroup
              children: [
                (C {($ VSub_Name '$debug_cmd')})
                (Case
                  to_match: {($ VSub_Number '$2')}
                  arms: [
                    (case_arm
                      pat_list: [{(.) (Lit_Other '*')}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:func_stripname_result)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (Pipeline
                                            children: [
                                              (C {($ VSub_Name '$ECHO')} {(DQ ($ VSub_Number '$3'))})
                                              (C {($ VSub_Name '$SED')} {(-e)} 
                                                {(DQ ('s%^') ($ VSub_Number '$1') ('%%'))} {(-e)} 
                                                {
                                                  (DQ ('s%') 
                                                    (EscapedLiteralPart
                                                      token: <Lit_EscapedChar '\\\\'>
                                                    ) (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) ($ VSub_Number '$2') 
                                                    (EscapedLiteralPart
                                                      token: <Lit_EscapedChar '\\$'>
                                                    ) ('%%')
                                                  )
                                                }
                                              )
                                            ]
                                            negated: F
                                          )
                                        ]
                                      )
                                    left_token: <Left_Backtick '`'>
                                    spids: [5695 5724]
                                  )
                                }
                              spids: [5694]
                            )
                          ]
                          spids: [5694]
                        )
                      ]
                      spids: [5690 5692 5725 16777215]
                    )
                    (case_arm
                      pat_list: [{(Lit_Other '*')}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:func_stripname_result)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (Pipeline
                                            children: [
                                              (C {($ VSub_Name '$ECHO')} {(DQ ($ VSub_Number '$3'))})
                                              (C {($ VSub_Name '$SED')} {(-e)} 
                                                {(DQ ('s%^') ($ VSub_Number '$1') ('%%'))} {(-e)} {(DQ ('s%') ($ VSub_Number '$2') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('%%'))}
                                              )
                                            ]
                                            negated: F
                                          )
                                        ]
                                      )
                                    left_token: <Left_Backtick '`'>
                                    spids: [5732 5759]
                                  )
                                }
                              spids: [5731]
                            )
                          ]
                          spids: [5731]
                        )
                      ]
                      spids: [5728 5729 5760 16777215]
                    )
                  ]
                  spids: [5683 5687 5763]
                )
              ]
              spids: [5676]
            )
          spids: [5670 5674]
        )
      ]
      spids: [5667 5768]
    )
    (FuncDef
      name: func_show_eval
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_G_cmd)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [5799]
                )
              ]
              spids: [5799]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_G_fail_exp)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Number 2>
                        suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ <':'>)})
                        spids: [5804 5810]
                      )
                    }
                  spids: [5803]
                )
              ]
              spids: [5803]
            )
            (C {(func_quote_for_expand)} {(DQ ($ VSub_Name '$_G_cmd'))})
            (C {(eval)} {(DQ ('func_notquiet ') ($ VSub_Name '$func_quote_for_expand_result'))})
            (AndOr
              ops: [Op_DPipe]
              children: [
                (C {($ VSub_Name '$opt_dry_run')})
                (BraceGroup
                  children: [
                    (C {(eval)} {(DQ ($ VSub_Name '$_G_cmd'))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_G_status)
                          op: Equal
                          rhs: {($ VSub_QMark '$?')}
                          spids: [5844]
                        )
                      ]
                      spids: [5844]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(0)} {(-ne)} {(DQ ($ VSub_Name '$_G_status'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(eval)} 
                              {
                                (DQ ('(exit ') ($ VSub_Name '$_G_status') ('); ') 
                                  ($ VSub_Name '$_G_fail_exp')
                                )
                              }
                            )
                          ]
                          spids: [16777215 5861]
                        )
                      ]
                      spids: [16777215 5874]
                    )
                  ]
                  spids: [5834]
                )
              ]
            )
          ]
          spids: [5792]
        )
      spids: [5787 5791]
    )
    (FuncDef
      name: func_show_eval_locale
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_G_cmd)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [5910]
                )
              ]
              spids: [5910]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_G_fail_exp)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Number 2>
                        suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ <':'>)})
                        spids: [5915 5921]
                      )
                    }
                  spids: [5914]
                )
              ]
              spids: [5914]
            )
            (AndOr
              ops: [Op_DPipe]
              children: [
                (C {($ VSub_Name '$opt_quiet')})
                (BraceGroup
                  children: [
                    (C {(func_quote_for_expand)} {(DQ ($ VSub_Name '$_G_cmd'))})
                    (C {(eval)} {(DQ ('func_echo ') ($ VSub_Name '$func_quote_for_expand_result'))})
                  ]
                  spids: [5929]
                )
              ]
            )
            (AndOr
              ops: [Op_DPipe]
              children: [
                (C {($ VSub_Name '$opt_dry_run')})
                (BraceGroup
                  children: [
                    (C {(eval)} 
                      {
                        (DQ ($ VSub_Name '$_G_user_locale') ('\n') ('\t    ') ($ VSub_Name '$_G_cmd'))
                      }
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_G_status)
                          op: Equal
                          rhs: {($ VSub_QMark '$?')}
                          spids: [5968]
                        )
                      ]
                      spids: [5968]
                    )
                    (C {(eval)} {(DQ ($ VSub_Name '$_G_safe_locale'))})
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(0)} {(-ne)} {(DQ ($ VSub_Name '$_G_status'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(eval)} 
                              {
                                (DQ ('(exit ') ($ VSub_Name '$_G_status') ('); ') 
                                  ($ VSub_Name '$_G_fail_exp')
                                )
                              }
                            )
                          ]
                          spids: [16777215 5992]
                        )
                      ]
                      spids: [16777215 6005]
                    )
                  ]
                  spids: [5955]
                )
              ]
            )
          ]
          spids: [5903]
        )
      spids: [5898 5902]
    )
    (FuncDef
      name: func_tr_sh
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (Case
              to_match: {($ VSub_Number '$1')}
              arms: [
                (case_arm
                  pat_list: [
                    {(Lit_Other '[') (0-9) (Lit_Other ']') (Lit_Other '*')}
                    {(Lit_Other '*') (Lit_Other '[') (KW_Bang '!') (a-zA-Z0-9_) (Lit_Other ']') 
                      (Lit_Other '*')
                    }
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_tr_sh_result)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {($ VSub_Name '$ECHO')} {(DQ ($ VSub_Number '$1'))})
                                          (C {($ VSub_Name '$SED')} {(-e)} 
                                            {(SQ <'s/^\\([0-9]\\)/_\\1/'>)} {(-e)} {(SQ <'s/[^a-zA-Z0-9_]/_/g'>)}
                                          )
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [6068 6090]
                              )
                            }
                          spids: [6067]
                        )
                      ]
                      spids: [6067]
                    )
                  ]
                  spids: [6051 6064 6093 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_tr_sh_result)
                          op: Equal
                          rhs: {($ VSub_Number '$1')}
                          spids: [6101]
                        )
                      ]
                      spids: [6101]
                    )
                  ]
                  spids: [6096 6098 6105 16777215]
                )
              ]
              spids: [6044 6048 6108]
            )
          ]
          spids: [6037]
        )
      spids: [6032 6036]
    )
    (FuncDef
      name: func_verbose
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (AndOr
              ops: [Op_DAmp]
              children: [(C {($ VSub_Name '$opt_verbose')}) (C {(func_echo)} {(DQ ($ VSub_Star '$*'))})]
            )
            (C {(Lit_Other ':')})
          ]
          spids: [6128]
        )
      spids: [6123 6127]
    )
    (FuncDef
      name: func_warn_and_continue
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (C {($ VSub_Name '$require_term_colors')})
            (SimpleCommand
              words: [
                {(func_echo_infix_1)}
                {(DQ (${ VSub_Name tc_red) (warning) ($ VSub_Name '$tc_reset'))}
                {(DQ ($ VSub_Star '$*'))}
              ]
              redirects: [(Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})]
            )
          ]
          spids: [6167]
        )
      spids: [6162 6166]
    )
    (FuncDef
      name: func_warning
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (Case
              to_match: {(DQ (' ') ($ VSub_Name '$warning_categories') (' '))}
              arms: [
                (case_arm
                  pat_list: [{(Lit_Other '*') (DQ (' ') ($ VSub_Number '$1') (' ')) (Lit_Other '*')}]
                  spids: [6244 6251 6253 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (C {(func_internal_error)} 
                      {(DQ ("invalid warning category '") ($ VSub_Number '$1') ("'"))}
                    )
                  ]
                  spids: [6256 6257 6267 16777215]
                )
              ]
              spids: [6233 6241 6270]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_G_category)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [6274]
                )
              ]
              spids: [6274]
            )
            (C {(shift)})
            (Case
              to_match: {(DQ (' ') ($ VSub_Name '$opt_warning_types') (' '))}
              arms: [
                (case_arm
                  pat_list: [
                    {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$_G_category') (' ')) (Lit_Other '*')}
                  ]
                  action: [
                    (C {($ VSub_Name '$warning_func')} 
                      {
                        (BracedVarSub
                          token: <VSub_Number 1>
                          suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                          spids: [6304 6310]
                        )
                      }
                    )
                  ]
                  spids: [6293 6300 6312 16777215]
                )
              ]
              spids: [6282 6290 6315]
            )
          ]
          spids: [6222]
        )
      spids: [6217 6221]
    )
    (FuncDef
      name: func_sort_ver
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (Pipeline
              children: [
                (C {(printf)} {(SQ <'%s\\n%s\\n'>)} {(DQ ($ VSub_Number '$1'))} 
                  {(DQ ($ VSub_Number '$2'))}
                )
                (C {(sort)} {(-t.)} {(-k)} {(1) (Lit_Comma ',') (1n)} {(-k)} {(2) (Lit_Comma ',') (2n)} 
                  {(-k)} {(3) (Lit_Comma ',') (3n)} {(-k)} {(4) (Lit_Comma ',') (4n)} {(-k)} {(5) (Lit_Comma ',') (5n)} {(-k)} 
                  {(6) (Lit_Comma ',') (6n)} {(-k)} {(7) (Lit_Comma ',') (7n)} {(-k)} {(8) (Lit_Comma ',') (8n)} {(-k)} {(9) (Lit_Comma ',') (9n)}
                )
              ]
              negated: F
            )
          ]
          spids: [6353]
        )
      spids: [6348 6352]
    )
    (FuncDef
      name: func_lt_ver
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (C {(test)} {(DQ (x) ($ VSub_Number '$1'))} {(Lit_Other '=')} 
              {(x) 
                (CommandSubPart
                  command_list: 
                    (CommandList
                      children: [
                        (Pipeline
                          children: [
                            (C {(func_sort_ver)} {(DQ ($ VSub_Number '$1'))} {(DQ ($ VSub_Number '$2'))})
                            (C {($ VSub_Name '$SED')} {(1q)})
                          ]
                          negated: F
                        )
                      ]
                    )
                  left_token: <Left_Backtick '`'>
                  spids: [6479 6495]
                )
              }
            )
          ]
          spids: [6462]
        )
      spids: [6457 6461]
    )
    (Sentence
      child: 
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:scriptversion)
              op: Equal
              rhs: {(2014-01-07.03)}
              spids: [6529]
            )
          ]
          spids: [6529]
        )
      terminator: <Op_Semi ';'>
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:usage)
          op: Equal
          rhs: {(SQ <'$progpath [OPTION]...'>)}
          spids: [6734]
        )
      ]
      spids: [6734]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:usage_message)
          op: Equal
          rhs: 
            {
              (DQ ('       --debug        enable verbose shell tracing\n') 
                ('   -W, --warnings=CATEGORY\n') ('                      report the warnings falling in CATEGORY [all]\n') 
                ('   -v, --verbose      verbosely report processing\n') ('       --version      print version information and exit\n') 
                ('   -h, --help         print short or long help message and exit\n')
              )
            }
          spids: [6749]
        )
      ]
      spids: [6749]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:long_help_message)
          op: Equal
          rhs: 
            {
              (DQ ('\n') ('Warning categories include:\n') 
                ("       'all'          show all warnings\n") ("       'none'         turn off all the warnings\n") 
                ("       'error'        warnings are treated as fatal errors")
              )
            }
          spids: [6764]
        )
      ]
      spids: [6764]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:fatal_help)
          op: Equal
          rhs: 
            {
              (DQ ("Try '") (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                ("progname --help' for more information.")
              )
            }
          spids: [6777]
        )
      ]
      spids: [6777]
    )
    (FuncDef
      name: func_hookable
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (C {(func_append)} {(hookable_fns)} {(DQ (' ') ($ VSub_Number '$1'))})
          ]
          spids: [6824]
        )
      spids: [6819 6823]
    )
    (FuncDef
      name: func_add_hook
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (Case
              to_match: {(DQ (' ') ($ VSub_Name '$hookable_fns') (' '))}
              arms: [
                (case_arm
                  pat_list: [{(Lit_Other '*') (DQ (' ') ($ VSub_Number '$1') (' ')) (Lit_Other '*')}]
                  spids: [6879 6886 6888 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (C {(func_fatal_error)} 
                      {(DQ ("'") ($ VSub_Number '$1') ("' does not accept hook functions."))}
                    )
                  ]
                  spids: [6891 6892 6902 16777215]
                )
              ]
              spids: [6868 6876 6905]
            )
            (C {(eval)} {(func_append)} {(${ VSub_Number 1) (_hooks)} {(SQ <'" $2"'>)})
          ]
          spids: [6861]
        )
      spids: [6856 6860]
    )
    (FuncDef
      name: func_remove_hook
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (C {(eval)} 
              {(${ VSub_Number 1) (Lit_VarLike '_hooks=') (SQ <'`$ECHO "\\$'>) ($ VSub_Number '$1') 
                (SQ <'_hooks" |$SED "s| '>) ($ VSub_Number '$2') (SQ <'||"`'>)
              }
            )
          ]
          spids: [6940]
        )
      spids: [6935 6939]
    )
    (FuncDef
      name: func_run_hooks
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (Case
              to_match: {(DQ (' ') ($ VSub_Name '$hookable_fns') (' '))}
              arms: [
                (case_arm
                  pat_list: [{(Lit_Other '*') (DQ (' ') ($ VSub_Number '$1') (' ')) (Lit_Other '*')}]
                  spids: [7013 7020 7022 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (C {(func_fatal_error)} 
                      {(DQ ("'") ($ VSub_Number '$1') ("' does not support hook funcions.n"))}
                    )
                  ]
                  spids: [7025 7026 7036 16777215]
                )
              ]
              spids: [7002 7010 7039]
            )
            (Sentence
              child: 
                (C {(eval)} 
                  {(Lit_VarLike '_G_hook_fns=') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                    ($ VSub_Number '$1') (_hooks)
                  }
                )
              terminator: <Op_Semi ';'>
            )
            (C {(shift)})
            (ForEach
              iter_name: _G_hook
              iter_words: [{($ VSub_Name '$_G_hook_fns')}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (C {(eval)} {($ VSub_Name '$_G_hook')} {(SQ <'"$@"'>)})
                    (C {(eval)} 
                      {(Lit_VarLike '_G_hook_result=') 
                        (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (${ VSub_Name _G_hook) (_result)
                      }
                    )
                    (Sentence
                      child: (C {(eval)} {(set)} {(dummy)} {(DQ ($ VSub_Name '$_G_hook_result'))})
                      terminator: <Op_Semi ';'>
                    )
                    (C {(shift)})
                  ]
                  spids: [7064 7109]
                )
              spids: [7060 7062]
            )
            (C {(func_quote_for_eval)} 
              {
                (BracedVarSub
                  token: <VSub_Number 1>
                  suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                  spids: [7115 7121]
                )
              }
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_run_hooks_result)
                  op: Equal
                  rhs: {($ VSub_Name '$func_quote_for_eval_result')}
                  spids: [7124]
                )
              ]
              spids: [7124]
            )
          ]
          spids: [6995]
        )
      spids: [6990 6994]
    )
    (C {(func_hookable)} {(func_options)})
    (FuncDef
      name: func_options
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (C {(func_options_prep)} 
              {
                (BracedVarSub
                  token: <VSub_Number 1>
                  suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                  spids: [7363 7369]
                )
              }
            )
            (C {(eval)} {(func_parse_options)} 
              {
                (BracedVarSub
                  token: <VSub_Name func_options_prep_result>
                  suffix_op: 
                    (StringUnary
                      op_id: VTest_Plus
                      arg_word: {(DQ ($ VSub_Name '$func_options_prep_result'))}
                    )
                  spids: [7378 7384]
                )
              }
            )
            (C {(eval)} {(func_validate_options)} 
              {
                (BracedVarSub
                  token: <VSub_Name func_parse_options_result>
                  suffix_op: 
                    (StringUnary
                      op_id: VTest_Plus
                      arg_word: {(DQ ($ VSub_Name '$func_parse_options_result'))}
                    )
                  spids: [7393 7399]
                )
              }
            )
            (C {(eval)} {(func_run_hooks)} {(func_options)} 
              {
                (BracedVarSub
                  token: <VSub_Name func_validate_options_result>
                  suffix_op: 
                    (StringUnary
                      op_id: VTest_Plus
                      arg_word: {(DQ ($ VSub_Name '$func_validate_options_result'))}
                    )
                  spids: [7411 7417]
                )
              }
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_options_result)
                  op: Equal
                  rhs: {($ VSub_Name '$func_run_hooks_result')}
                  spids: [7425]
                )
              ]
              spids: [7425]
            )
          ]
          spids: [7354]
        )
      spids: [7349 7353]
    )
    (C {(func_hookable)} {(func_options_prep)})
    (FuncDef
      name: func_options_prep
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:opt_verbose)
                  op: Equal
                  rhs: {(false)}
                  spids: [7476]
                )
              ]
              spids: [7476]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:opt_warning_types)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [7480]
                )
              ]
              spids: [7480]
            )
            (C {(func_run_hooks)} {(func_options_prep)} 
              {
                (BracedVarSub
                  token: <VSub_Number 1>
                  suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                  spids: [7488 7494]
                )
              }
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_options_prep_result)
                  op: Equal
                  rhs: {($ VSub_Name '$func_run_hooks_result')}
                  spids: [7502]
                )
              ]
              spids: [7502]
            )
          ]
          spids: [7465]
        )
      spids: [7460 7464]
    )
    (C {(func_hookable)} {(func_parse_options)})
    (FuncDef
      name: func_parse_options
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_parse_options_result)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [7534]
                )
              ]
              spids: [7534]
            )
            (WhileUntil
              keyword: <KW_While while>
              cond: [
                (Sentence
                  child: (C {(test)} {($ VSub_Pound '$#')} {(-gt)} {(0)})
                  terminator: <Op_Semi ';'>
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (C {(func_run_hooks)} {(func_parse_options)} 
                      {
                        (BracedVarSub
                          token: <VSub_Number 1>
                          suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                          spids: [7568 7574]
                        )
                      }
                    )
                    (Sentence
                      child: 
                        (C {(eval)} {(set)} {(dummy)} {(DQ ($ VSub_Name '$func_run_hooks_result'))})
                      terminator: <Op_Semi ';'>
                    )
                    (C {(shift)})
                    (AndOr
                      ops: [Op_DPipe]
                      children: [
                        (C {(test)} {($ VSub_Pound '$#')} {(-gt)} {(0)})
                        (ControlFlow token:<ControlFlow_Break break>)
                      ]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_G_opt)
                          op: Equal
                          rhs: {($ VSub_Number '$1')}
                          spids: [7615]
                        )
                      ]
                      spids: [7615]
                    )
                    (C {(shift)})
                    (Case
                      to_match: {($ VSub_Name '$_G_opt')}
                      arms: [
                        (case_arm
                          pat_list: [{(--debug)} {(-x)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:debug_cmd)
                                  op: Equal
                                  rhs: {(SQ <'set -x'>)}
                                  spids: [7634]
                                )
                              ]
                              spids: [7634]
                            )
                            (C {(func_echo)} {(DQ ('enabling shell trace mode'))})
                            (C {($ VSub_Name '$debug_cmd')})
                          ]
                          spids: [7629 7632 7650 16777215]
                        )
                        (case_arm
                          pat_list: [{(--no-warnings)} {(--no-warning)} {(--no-warn)}]
                          action: [
                            (C {(set)} {(dummy)} {(--warnings)} {(none)} 
                              {
                                (BracedVarSub
                                  token: <VSub_Number 1>
                                  suffix_op: 
                                    (StringUnary
                                      op_id: VTest_Plus
                                      arg_word: {(DQ ($ VSub_At '$@'))}
                                    )
                                  spids: [7670 7676]
                                )
                              }
                            )
                            (C {(shift)})
                          ]
                          spids: [7654 7659 7682 16777215]
                        )
                        (case_arm
                          pat_list: [{(--warnings)} {(--warning)} {(-W)}]
                          action: [
                            (AndOr
                              ops: [Op_DAmp Op_DAmp]
                              children: [
                                (C {(test)} {($ VSub_Pound '$#')} {(Lit_Other '=')} {(0)})
                                (C {(func_missing_arg)} {($ VSub_Name '$_G_opt')})
                                (ControlFlow
                                  token: <ControlFlow_Break break>
                                )
                              ]
                            )
                            (Case
                              to_match: 
                                {
                                  (DQ (' ') ($ VSub_Name '$warning_categories') (' ') 
                                    ($ VSub_Number '$1')
                                  )
                                }
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (DQ (' ') ($ VSub_Number '$1') (' ')) 
                                      (Lit_Other '*')
                                    }
                                  ]
                                  action: [
                                    (C {(func_append_uniq)} {(opt_warning_types)} 
                                      {(DQ (' ') ($ VSub_Number '$1'))}
                                    )
                                  ]
                                  spids: [7725 7732 7749 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (all)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:opt_warning_types)
                                          op: Equal
                                          rhs: {($ VSub_Name '$warning_categories')}
                                          spids: [7757]
                                        )
                                      ]
                                      spids: [7757]
                                    )
                                  ]
                                  spids: [7752 7754 7761 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (none)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:opt_warning_types)
                                          op: Equal
                                          rhs: {(none)}
                                          spids: [7769]
                                        )
                                      ]
                                      spids: [7769]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:warning_func)
                                          op: Equal
                                          rhs: {(Lit_Other ':')}
                                          spids: [7773]
                                        )
                                      ]
                                      spids: [7773]
                                    )
                                  ]
                                  spids: [7764 7766 7777 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (error)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:opt_warning_types)
                                          op: Equal
                                          rhs: {($ VSub_Name '$warning_categories')}
                                          spids: [7785]
                                        )
                                      ]
                                      spids: [7785]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:warning_func)
                                          op: Equal
                                          rhs: {(func_fatal_error)}
                                          spids: [7789]
                                        )
                                      ]
                                      spids: [7789]
                                    )
                                  ]
                                  spids: [7780 7782 7793 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(func_fatal_error)} 
                                      {
                                        (DQ ("unsupported warning category: '") ($ VSub_Number '$1') 
                                          ("'")
                                        )
                                      }
                                    )
                                  ]
                                  spids: [7796 7797 7811 16777215]
                                )
                              ]
                              spids: [7713 7722 7814]
                            )
                            (C {(shift)})
                          ]
                          spids: [7686 7691 7820 16777215]
                        )
                        (case_arm
                          pat_list: [{(--verbose)} {(-v)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:opt_verbose)
                                  op: Equal
                                  rhs: {(Lit_Other ':')}
                                  spids: [7829]
                                )
                              ]
                              spids: [7829]
                            )
                          ]
                          spids: [7824 7827 7832 16777215]
                        )
                        (case_arm
                          pat_list: [{(--version)}]
                          action: [(C {(func_version)})]
                          spids: [7835 7836 7840 16777215]
                        )
                        (case_arm
                          pat_list: [{(-) (EscapedLiteralPart token:<Lit_EscapedChar '\\?'>)} {(-h)}]
                          action: [(C {(func_usage)})]
                          spids: [7843 7847 7851 16777215]
                        )
                        (case_arm
                          pat_list: [{(--help)}]
                          action: [(C {(func_help)})]
                          spids: [7854 7855 7859 16777215]
                        )
                        (case_arm
                          pat_list: [{(--) (Lit_Other '*') (Lit_Other '=') (Lit_Other '*')}]
                          action: [
                            (C {(func_split_equals)} {(DQ ($ VSub_Name '$_G_opt'))})
                            (C {(set)} {(dummy)} {(DQ ($ VSub_Name '$func_split_equals_lhs'))} 
                              {(DQ ($ VSub_Name '$func_split_equals_rhs'))} 
                              {
                                (BracedVarSub
                                  token: <VSub_Number 1>
                                  suffix_op: 
                                    (StringUnary
                                      op_id: VTest_Plus
                                      arg_word: {(DQ ($ VSub_At '$@'))}
                                    )
                                  spids: [7894 7900]
                                )
                              }
                            )
                            (C {(shift)})
                          ]
                          spids: [7867 7871 7906 16777215]
                        )
                        (case_arm
                          pat_list: [{(-W) (Lit_Other '*')}]
                          action: [
                            (C {(func_split_short_opt)} {(DQ ($ VSub_Name '$_G_opt'))})
                            (C {(set)} {(dummy)} {(DQ ($ VSub_Name '$func_split_short_opt_name'))} 
                              {(DQ ($ VSub_Name '$func_split_short_opt_arg'))} 
                              {
                                (BracedVarSub
                                  token: <VSub_Number 1>
                                  suffix_op: 
                                    (StringUnary
                                      op_id: VTest_Plus
                                      arg_word: {(DQ ($ VSub_At '$@'))}
                                    )
                                  spids: [7940 7946]
                                )
                              }
                            )
                            (C {(shift)})
                          ]
                          spids: [7914 7916 7952 16777215]
                        )
                        (case_arm
                          pat_list: [
                            {(-) (EscapedLiteralPart token:<Lit_EscapedChar '\\?'>) (Lit_Other '*')}
                            {(-h) (Lit_Other '*')}
                            {(-v) (Lit_Other '*')}
                            {(-x) (Lit_Other '*')}
                          ]
                          action: [
                            (C {(func_split_short_opt)} {(DQ ($ VSub_Name '$_G_opt'))})
                            (C {(set)} {(dummy)} {(DQ ($ VSub_Name '$func_split_short_opt_name'))} 
                              {(DQ (-) ($ VSub_Name '$func_split_short_opt_arg'))} 
                              {
                                (BracedVarSub
                                  token: <VSub_Number 1>
                                  suffix_op: 
                                    (StringUnary
                                      op_id: VTest_Plus
                                      arg_word: {(DQ ($ VSub_At '$@'))}
                                    )
                                  spids: [7997 8003]
                                )
                              }
                            )
                            (C {(shift)})
                          ]
                          spids: [7960 7972 8009 16777215]
                        )
                        (case_arm
                          pat_list: [{(--)}]
                          action: [(ControlFlow token:<ControlFlow_Break break>)]
                          spids: [8013 8014 8018 16777215]
                        )
                        (case_arm
                          pat_list: [{(-) (Lit_Other '*')}]
                          action: [
                            (C {(func_fatal_help)} 
                              {(DQ ("unrecognised option: '") ($ VSub_Name '$_G_opt') ("'"))}
                            )
                          ]
                          spids: [8021 8023 8033 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (Sentence
                              child: 
                                (C {(set)} {(dummy)} {(DQ ($ VSub_Name '$_G_opt'))} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Number 1>
                                      suffix_op: 
                                        (StringUnary
                                          op_id: VTest_Plus
                                          arg_word: {(DQ ($ VSub_At '$@'))}
                                        )
                                      spids: [8047 8053]
                                    )
                                  }
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (Sentence
                              child: (C {(shift)})
                              terminator: <Op_Semi ';'>
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [8036 8037 8061 16777215]
                        )
                      ]
                      spids: [7622 7626 8064]
                    )
                  ]
                  spids: [7553 8067]
                )
            )
            (C {(func_quote_for_eval)} 
              {
                (BracedVarSub
                  token: <VSub_Number 1>
                  suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                  spids: [8077 8083]
                )
              }
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_parse_options_result)
                  op: Equal
                  rhs: {($ VSub_Name '$func_quote_for_eval_result')}
                  spids: [8086]
                )
              ]
              spids: [8086]
            )
          ]
          spids: [7527]
        )
      spids: [7522 7526]
    )
    (C {(func_hookable)} {(func_validate_options)})
    (FuncDef
      name: func_validate_options
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (AndOr
              ops: [Op_DPipe]
              children: [
                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$opt_warning_types'))})
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:opt_warning_types)
                      op: Equal
                      rhs: {(DQ (' ') ($ VSub_Name '$warning_categories'))}
                      spids: [8135]
                    )
                  ]
                  spids: [8135]
                )
              ]
            )
            (C {(func_run_hooks)} {(func_validate_options)} 
              {
                (BracedVarSub
                  token: <VSub_Number 1>
                  suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                  spids: [8147 8153]
                )
              }
            )
            (C {($ VSub_Name '$exit_cmd')} {($ VSub_Name '$EXIT_FAILURE')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_validate_options_result)
                  op: Equal
                  rhs: {($ VSub_Name '$func_run_hooks_result')}
                  spids: [8171]
                )
              ]
              spids: [8171]
            )
          ]
          spids: [8114]
        )
      spids: [8109 8113]
    )
    (FuncDef
      name: func_fatal_help
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (C {(eval)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (ECHO)} 
              {(EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                (DQ ('Usage: ') ($ VSub_Name '$usage')) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
              }
            )
            (C {(eval)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (ECHO)} 
              {(EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (DQ ($ VSub_Name '$fatal_help')) 
                (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
              }
            )
            (C {(func_error)} 
              {
                (BracedVarSub
                  token: <VSub_Number 1>
                  suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                  spids: [8248 8254]
                )
              }
            )
            (ControlFlow
              token: <ControlFlow_Exit exit>
              arg_word: {($ VSub_Name '$EXIT_FAILURE')}
            )
          ]
          spids: [8214]
        )
      spids: [8209 8213]
    )
    (FuncDef
      name: func_help
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (C {(func_usage_message)})
            (C {($ VSub_Name '$ECHO')} {(DQ ($ VSub_Name '$long_help_message'))})
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)})
          ]
          spids: [8279]
        )
      spids: [8274 8278]
    )
    (FuncDef
      name: func_missing_arg
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (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: {(ControlFlow_Exit exit)}
                  spids: [8337]
                )
              ]
              spids: [8337]
            )
          ]
          spids: [8321]
        )
      spids: [8316 8320]
    )
    (AndOr
      ops: [Op_DAmp Op_DAmp]
      children: [
        (C {(test)} {(-z)} {(DQ ($ VSub_Name '$_G_HAVE_XSI_OPS'))})
        (Subshell
          child: 
            (C {(eval)} 
              {(SQ <'x=a/b/c;\n'> <'      test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"'>)}
            )
          redirects: [(Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})]
          spids: [8368 8375]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:_G_HAVE_XSI_OPS) op:Equal rhs:{(yes)} spids:[8384])]
          spids: [8384]
        )
      ]
    )
    (If
      arms: [
        (if_arm
          cond: [(C {(test)} {(yes)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$_G_HAVE_XSI_OPS'))})]
          action: [
            (C {(eval)} 
              {
                (SQ <'func_split_equals ()\n'> <'  {\n'> <'      $debug_cmd\n'> <'\n'> 
                  <'      func_split_equals_lhs=${1%%=*}\n'> <'      func_split_equals_rhs=${1#*=}\n'> <'      test "x$func_split_equals_lhs" = "x$1" \\\n'> 
                  <'        && func_split_equals_rhs=\n'> <'  }'>
                )
              }
            )
          ]
          spids: [16777215 8400]
        )
      ]
      else_action: [
        (FuncDef
          name: func_split_equals
          body: 
            (BraceGroup
              children: [
                (C {($ VSub_Name '$debug_cmd')})
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:func_split_equals_lhs)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (C {(expr)} {(DQ (x) ($ VSub_Number '$1'))} {(Lit_Other ':')} 
                                    {(SQ <'x\\([^=]*\\)'>)}
                                  )
                                ]
                              )
                            left_token: <Left_Backtick '`'>
                            spids: [8442 8455]
                          )
                        }
                      spids: [8441]
                    )
                  ]
                  spids: [8441]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:func_split_equals_rhs)
                      op: Equal
                      rhs: {(EmptyPart)}
                      spids: [8458]
                    )
                  ]
                  spids: [8458]
                )
                (AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(test)} {(DQ (x) ($ VSub_Name '$func_split_equals_lhs'))} {(Lit_Other '=')} 
                      {(DQ (x) ($ VSub_Number '$1'))}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_split_equals_rhs)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(expr)} {(DQ (x) ($ VSub_Number '$1'))} {(Lit_Other ':')} 
                                        {(SQ <'x[^=]*=\\(.*\\)$'>)}
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [8480 8493]
                              )
                            }
                          spids: [8479]
                        )
                      ]
                      spids: [8479]
                    )
                  ]
                )
              ]
              spids: [8434]
            )
          spids: [8428 8432]
        )
      ]
      spids: [8421 8498]
    )
    (If
      arms: [
        (if_arm
          cond: [(C {(test)} {(yes)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$_G_HAVE_XSI_OPS'))})]
          action: [
            (C {(eval)} 
              {
                (SQ <'func_split_short_opt ()\n'> <'  {\n'> <'      $debug_cmd\n'> <'\n'> 
                  <'      func_split_short_opt_arg=${1#??}\n'> <'      func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\n'> <'  }'>
                )
              }
            )
          ]
          spids: [16777215 8529]
        )
      ]
      else_action: [
        (FuncDef
          name: func_split_short_opt
          body: 
            (BraceGroup
              children: [
                (C {($ VSub_Name '$debug_cmd')})
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:func_split_short_opt_name)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (C {(expr)} {(DQ (x) ($ VSub_Number '$1'))} {(Lit_Other ':')} 
                                    {(SQ <'x-\\(.\\)'>)}
                                  )
                                ]
                              )
                            left_token: <Left_Backtick '`'>
                            spids: [8569 8582]
                          )
                        }
                      spids: [8568]
                    )
                  ]
                  spids: [8568]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:func_split_short_opt_arg)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (C {(expr)} {(DQ (x) ($ VSub_Number '$1'))} {(Lit_Other ':')} 
                                    {(SQ <'x-.\\(.*\\)$'>)}
                                  )
                                ]
                              )
                            left_token: <Left_Backtick '`'>
                            spids: [8586 8599]
                          )
                        }
                      spids: [8585]
                    )
                  ]
                  spids: [8585]
                )
              ]
              spids: [8561]
            )
          spids: [8555 8559]
        )
      ]
      spids: [8548 8604]
    )
    (FuncDef
      name: func_usage
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (C {(func_usage_message)})
            (C {($ VSub_Name '$ECHO')} 
              {
                (DQ ("Run '") ($ VSub_Name '$progname') (' --help |') 
                  (BracedVarSub
                    token: <VSub_Name PAGER>
                    suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(more)})
                    spids: [8641 8645]
                  ) ("' for full usage")
                )
              }
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)})
          ]
          spids: [8625]
        )
      spids: [8620 8624]
    )
    (FuncDef
      name: func_usage_message
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (C {(eval)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (ECHO)} 
              {(EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                (DQ ('Usage: ') ($ VSub_Name '$usage')) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
              }
            )
            (C {(echo)})
            (SimpleCommand
              words: [
                {($ VSub_Name '$SED')}
                {(-n)}
                {
                  (SQ <'s|^# ||\n'> <'        /^Written by/{\n'> <'          x;p;x\n'> <'        }\n'> 
                    <'\th\n'> <'\t/^Written by/q'>
                  )
                }
              ]
              redirects: [
                (Redir
                  op: <Redir_Less '<'>
                  fd: 16777215
                  arg_word: {(DQ ($ VSub_Name '$progpath'))}
                )
              ]
            )
            (C {(echo)})
            (C {(eval)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (ECHO)} 
              {(EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (DQ ($ VSub_Name '$usage_message')) 
                (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
              }
            )
          ]
          spids: [8672]
        )
      spids: [8667 8671]
    )
    (FuncDef
      name: func_version
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (C {(printf)} {(SQ <'%s\\n'>)} 
              {(DQ ($ VSub_Name '$progname') (' ') ($ VSub_Name '$scriptversion'))}
            )
            (SimpleCommand
              words: [
                {($ VSub_Name '$SED')}
                {(-n)}
                {
                  (SQ <'\n'> <'        /(C)/!b go\n'> <'        :more\n'> <'        /\\./!{\n'> 
                    <'          N\n'> <'          s|\\n# | |\n'> <'          b more\n'> <'        }\n'> <'        :go\n'> 
                    <'        /^# Written by /,/# warranty; / {\n'> <'          s|^# ||\n'> <'          s|^# *$||\n'> 
                    <'          s|\\((C)\\)[ 0-9,-]*[ ,-]\\([1-9][0-9]* \\)|\\1 \\2|\n'> <'          p\n'> <'        }\n'> <'        /^# Written by / {\n'> <'          s|^# ||\n'> 
                    <'          p\n'> <'        }\n'> <'        /^warranty; /q'>
                  )
                }
              ]
              redirects: [
                (Redir
                  op: <Redir_Less '<'>
                  fd: 16777215
                  arg_word: {(DQ ($ VSub_Name '$progpath'))}
                )
              ]
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{($ VSub_QMark '$?')})
          ]
          spids: [8747]
        )
      spids: [8742 8746]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:scriptversion)
          op: Equal
          rhs: {(SQ <'(GNU libtool) 2.4.6'>)}
          spids: [8835]
        )
      ]
      spids: [8835]
    )
    (FuncDef
      name: func_echo
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_G_message)
                  op: Equal
                  rhs: {($ VSub_Star '$*')}
                  spids: [8866]
                )
              ]
              spids: [8866]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_echo_IFS)
                  op: Equal
                  rhs: {($ VSub_Name '$IFS')}
                  spids: [8871]
                )
              ]
              spids: [8871]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:IFS)
                  op: Equal
                  rhs: {($ VSub_Name '$nl')}
                  spids: [8875]
                )
              ]
              spids: [8875]
            )
            (ForEach
              iter_name: _G_line
              iter_words: [{($ VSub_Name '$_G_message')}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {($ VSub_Name '$func_echo_IFS')}
                          spids: [8891]
                        )
                      ]
                      spids: [8891]
                    )
                    (C {($ VSub_Name '$ECHO')} 
                      {
                        (DQ ($ VSub_Name '$progname') 
                          (BracedVarSub
                            token: <VSub_Name opt_mode>
                            suffix_op: 
                              (StringUnary
                                op_id: VTest_Plus
                                arg_word: {(': ') ($ VSub_Name '$opt_mode')}
                              )
                            spids: [8899 8904]
                          ) (': ') ($ VSub_Name '$_G_line')
                        )
                      }
                    )
                  ]
                  spids: [8888 8910]
                )
              spids: [8884 8886]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:IFS)
                  op: Equal
                  rhs: {($ VSub_Name '$func_echo_IFS')}
                  spids: [8913]
                )
              ]
              spids: [8913]
            )
          ]
          spids: [8859]
        )
      spids: [8854 8858]
    )
    (FuncDef
      name: func_warning
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (C {($ VSub_Name '$warning_func')} 
              {
                (BracedVarSub
                  token: <VSub_Number 1>
                  suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                  spids: [8946 8952]
                )
              }
            )
          ]
          spids: [8937]
        )
      spids: [8932 8936]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:usage)
          op: Equal
          rhs: {(SQ <'$progpath [OPTION]... [MODE-ARG]...'>)}
          spids: [8975]
        )
      ]
      spids: [8975]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:usage_message)
          op: Equal
          rhs: 
            {
              (DQ ('Options:\n') ('       --config             show all configuration variables\n') 
                ('       --debug              enable verbose shell tracing\n') ('   -n, --dry-run            display commands without modifying any files\n') 
                ('       --features           display basic configuration information and exit\n') ('       --mode=MODE          use operation mode MODE\n') 
                ("       --no-warnings        equivalent to '-Wnone'\n") ("       --preserve-dup-deps  don't remove duplicate dependency libraries\n") 
                ("       --quiet, --silent    don't print informational messages\n") ('       --tag=TAG            use configuration variables from tag TAG\n') 
                ('   -v, --verbose            print more informational messages than default\n') ('       --version            print version information\n') 
                ('   -W, --warnings=CATEGORY  report the warnings falling in CATEGORY [all]\n') ('   -h, --help, --help-all   print short, long, or detailed help message\n')
              )
            }
          spids: [8984]
        )
      ]
      spids: [8984]
    )
    (FuncDef
      name: func_help
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (C {(func_usage_message)})
            (C {($ VSub_Name '$ECHO')} 
              {
                (DQ ($ VSub_Name '$long_help_message') ('\n') ('\n') 
                  ('MODE must be one of the following:\n') ('\n') ('       clean           remove files from the build directory\n') 
                  ('       compile         compile a source file into a libtool object\n') ('       execute         automatically set library path, then run a program\n') 
                  ('       finish          complete the installation of libtool libraries\n') ('       install         install libraries or executables\n') 
                  ('       link            create a library or an executable\n') ('       uninstall       remove libraries from an installed directory\n') ('\n') 
                  ('MODE-ARGS vary depending on the MODE.  When passed as first option,\n') ("'--mode=MODE' may be abbreviated as 'MODE' or a unique abbreviation of that.\n") ("Try '") 
                  ($ VSub_Name '$progname') (" --help --mode=MODE' for a more detailed description of MODE.\n") ('\n') 
                  ('When reporting a bug, please describe a test case to reproduce it and\n') ('include the following information:\n') ('\n') ('       host-triplet:   ') ($ VSub_Name '$host') ('\n') 
                  ('       shell:          ') ($ VSub_Name '$SHELL') ('\n') ('       compiler:       ') ($ VSub_Name '$LTCC') ('\n') 
                  ('       compiler flags: ') ($ VSub_Name '$LTCFLAGS') ('\n') ('       linker:         ') ($ VSub_Name '$LD') (' (gnu? ') 
                  ($ VSub_Name '$with_gnu_ld') (')\n') ('       version:        ') ($ VSub_Name '$progname') (' (GNU libtool) 2.4.6\n') 
                  ('       automake:       ') 
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (Pipeline
                            children: [
                              (Subshell
                                child: (C {($ VSub_Name '$AUTOMAKE')} {(--version)})
                                redirects: [(Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})]
                                spids: [9068 9072]
                              )
                              (C {($ VSub_Name '$SED')} {(1q)})
                            ]
                            negated: F
                          )
                        ]
                      )
                    left_token: <Left_Backtick '`'>
                    spids: [9067 9081]
                  ) ('\n') ('       autoconf:       ') 
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (Pipeline
                            children: [
                              (Subshell
                                child: (C {($ VSub_Name '$AUTOCONF')} {(--version)})
                                redirects: [(Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})]
                                spids: [9085 9089]
                              )
                              (C {($ VSub_Name '$SED')} {(1q)})
                            ]
                            negated: F
                          )
                        ]
                      )
                    left_token: <Left_Backtick '`'>
                    spids: [9084 9098]
                  ) ('\n') ('\n') ('Report bugs to <bug-libtool@gnu.org>.\n') 
                  ('GNU libtool home page: <http://www.gnu.org/s/libtool/>.\n') ('General help using GNU software: <http://www.gnu.org/gethelp/>.')
                )
              }
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)})
          ]
          spids: [9011]
        )
      spids: [9006 9010]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:lo2o)
          op: Equal
          rhs: 
            {(s/) (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (.lo) 
              (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (/.) ($ VSub_Name '$objext') (/)
            }
          spids: [9128]
        )
      ]
      spids: [9128]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:o2lo)
          op: Equal
          rhs: 
            {(s/) (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (.) ($ VSub_Name '$objext') 
              (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (/.lo/)
            }
          spids: [9137]
        )
      ]
      spids: [9137]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(test)} {(yes)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$_G_HAVE_XSI_OPS'))})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(eval)} 
              {
                (SQ <'func_lo2o ()\n'> <'  {\n'> <'    case $1 in\n'> 
                  <'      *.lo) func_lo2o_result=${1%.lo}.$objext ;;\n'> <'      *   ) func_lo2o_result=$1               ;;\n'> <'    esac\n'> <'  }'>
                )
              }
            )
            (C {(eval)} 
              {(SQ <'func_xform ()\n'> <'  {\n'> <'    func_xform_result=${1%.*}.lo\n'> <'  }'>)}
            )
          ]
          spids: [16777215 9159]
        )
      ]
      else_action: [
        (FuncDef
          name: func_lo2o
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:func_lo2o_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 '$lo2o'))})
                                    ]
                                    negated: F
                                  )
                                ]
                              )
                            left_token: <Left_Backtick '`'>
                            spids: [9218 9232]
                          )
                        }
                      spids: [9217]
                    )
                  ]
                  spids: [9217]
                )
              ]
              spids: [9214]
            )
          spids: [9208 9212]
        )
        (FuncDef
          name: func_xform
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:func_xform_result)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (Pipeline
                                    children: [
                                      (C {($ VSub_Name '$ECHO')} {(DQ ($ VSub_Number '$1'))})
                                      (C {($ VSub_Name '$SED')} {(SQ <'s|\\.[^.]*$|.lo|'>)})
                                    ]
                                    negated: F
                                  )
                                ]
                              )
                            left_token: <Left_Backtick '`'>
                            spids: [9249 9263]
                          )
                        }
                      spids: [9248]
                    )
                  ]
                  spids: [9248]
                )
              ]
              spids: [9245]
            )
          spids: [9239 9243]
        )
      ]
      spids: [9201 9268]
    )
    (FuncDef
      name: func_fatal_configuration
      body: 
        (BraceGroup
          children: [
            (C {(func__fatal_error)} 
              {
                (BracedVarSub
                  token: <VSub_Number 1>
                  suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                  spids: [9294 9300]
                )
              } {(DQ ('See the ') ($ VSub_Name '$PACKAGE') (' documentation for more information.'))} 
              {(DQ ('Fatal configuration error.'))}
            )
          ]
          spids: [9289]
        )
      spids: [9284 9288]
    )
    (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: [9337]
                )
              ]
              spids: [9337]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:re_endcf)
                  op: Equal
                  rhs: {(SQ <'^# ### END LIBTOOL'>)}
                  spids: [9343]
                )
              ]
              spids: [9343]
            )
            (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: <Redir_Less '<'>
                  fd: 16777215
                  arg_word: {(DQ ($ VSub_Name '$progpath'))}
                )
              ]
            )
            (ForEach
              iter_name: tagname
              iter_words: [{($ VSub_Name '$taglist')}]
              do_arg_iter: F
              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: <Redir_Less '<'>
                          fd: 16777215
                          arg_word: {(DQ ($ VSub_Name '$progpath'))}
                        )
                      ]
                    )
                  ]
                  spids: [9387 9415]
                )
              spids: [9383 9385]
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{($ VSub_QMark '$?')})
          ]
          spids: [9334]
        )
      spids: [9329 9333]
    )
    (FuncDef
      name: func_features
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ('host: ') ($ VSub_Name '$host'))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(yes)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$build_libtool_libs'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(echo)} {(DQ ('enable shared libraries'))})]
                  spids: [16777215 9465]
                )
              ]
              else_action: [(C {(echo)} {(DQ ('disable shared libraries'))})]
              spids: [9475 9485]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(yes)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$build_old_libs'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(echo)} {(DQ ('enable static libraries'))})]
                  spids: [16777215 9501]
                )
              ]
              else_action: [(C {(echo)} {(DQ ('disable static libraries'))})]
              spids: [9511 9521]
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{($ VSub_QMark '$?')})
          ]
          spids: [9441]
        )
      spids: [9436 9440]
    )
    (FuncDef
      name: func_enable_tag
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:tagname)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [9560]
                )
              ]
              spids: [9560]
            )
            (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: [9565]
                )
              ]
              spids: [9565]
            )
            (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: [9573]
                )
              ]
              spids: [9573]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:sed_extractcf)
                  op: Equal
                  rhs: 
                    {(/) ($ VSub_Name '$re_begincf') (/) (Lit_Comma ',') (/) ($ VSub_Name '$re_endcf') 
                      (/p)
                    }
                  spids: [9581]
                )
              ]
              spids: [9581]
            )
            (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: [9603 9611 9622 16777215]
                )
              ]
              spids: [9596 9600 9625]
            )
            (Case
              to_match: {($ VSub_Name '$tagname')}
              arms: [
                (case_arm pat_list:[{(CC)}] spids:[9644 9645 9647 16777215])
                (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: <Redir_Great '>'>
                                      fd: 16777215
                                      arg_word: {(/dev/null)}
                                    )
                                    (Redir
                                      op: <Redir_GreatAnd '2>&'>
                                      fd: 2
                                      arg_word: {(1)}
                                    )
                                  ]
                                )
                              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: [9676]
                                )
                              ]
                              spids: [9676]
                            )
                            (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: <Redir_Less '<'>
                                                    fd: 16777215
                                                    arg_word: {(DQ ($ VSub_Name '$progpath'))}
                                                  )
                                                ]
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [9702 9718]
                                      )
                                    }
                                  spids: [9701]
                                )
                              ]
                              spids: [9701]
                            )
                            (C {(eval)} {(DQ ($ VSub_Name '$extractedcf'))})
                          ]
                          spids: [16777215 9673]
                        )
                      ]
                      else_action: [
                        (C {(func_error)} {(DQ ('ignoring unknown tag ') ($ VSub_Name '$tagname'))})
                      ]
                      spids: [9728 9739]
                    )
                  ]
                  spids: [9650 9651 9742 16777215]
                )
              ]
              spids: [9637 9641 9745]
            )
          ]
          spids: [9553]
        )
      spids: [9548 9552]
    )
    (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: <Redir_GreatAnd '>&'>
                                          fd: 16777215
                                          arg_word: {(2)}
                                        )
                                        (HereDoc
                                          op: <Redir_DLess '<<'>
                                          fd: 16777215
                                          here_begin: {(_LT_EOF)}
                                          here_end_span_id: 9848
                                          stdin_parts: [
                                            ($ 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')
                                          ]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16777215 9820]
                                )
                              ]
                              else_action: [
                                (SimpleCommand
                                  words: [{(cat)}]
                                  redirects: [
                                    (Redir
                                      op: <Redir_GreatAnd '>&'>
                                      fd: 16777215
                                      arg_word: {(2)}
                                    )
                                    (HereDoc
                                      op: <Redir_DLess '<<'>
                                      fd: 16777215
                                      here_begin: {(_LT_EOF)}
                                      here_end_span_id: 9882
                                      stdin_parts: [
                                        ($ 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')
                                      ]
                                    )
                                  ]
                                )
                              ]
                              spids: [9850 9884]
                            )
                          ]
                          spids: [16777215 9806]
                        )
                      ]
                      else_action: [
                        (SimpleCommand
                          words: [{(cat)}]
                          redirects: [
                            (Redir
                              op: <Redir_GreatAnd '>&'>
                              fd: 16777215
                              arg_word: {(2)}
                            )
                            (HereDoc
                              op: <Redir_DLess '<<'>
                              fd: 16777215
                              here_begin: {(_LT_EOF)}
                              here_end_span_id: 9921
                              stdin_parts: [
                                ($ 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')
                              ]
                            )
                          ]
                        )
                      ]
                      spids: [9887 9923]
                    )
                    (ControlFlow
                      token: <ControlFlow_Exit exit>
                      arg_word: {($ VSub_Name '$EXIT_MISMATCH')}
                    )
                  ]
                  spids: [16777215 9787]
                )
              ]
              spids: [16777215 9932]
            )
          ]
          spids: [9768]
        )
      spids: [9763 9767]
    )
    (FuncDef
      name: libtool_options_prep
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_mode')})
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:opt_config) op:Equal rhs:{(false)} spids:[9963])]
              spids: [9963]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:opt_dlopen)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [9967]
                )
              ]
              spids: [9967]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:opt_dry_run)
                  op: Equal
                  rhs: {(false)}
                  spids: [9970]
                )
              ]
              spids: [9970]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:opt_help) op:Equal rhs:{(false)} spids:[9974])]
              spids: [9974]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:opt_mode)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [9978]
                )
              ]
              spids: [9978]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:opt_preserve_dup_deps)
                  op: Equal
                  rhs: {(false)}
                  spids: [9981]
                )
              ]
              spids: [9981]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:opt_quiet) op:Equal rhs:{(false)} spids:[9985])]
              spids: [9985]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:nonopt) op:Equal rhs:{(EmptyPart)} spids:[9990])]
              spids: [9990]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:preserve_args)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [9993]
                )
              ]
              spids: [9993]
            )
            (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: [10029 10035]
                            )
                          }
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (C {(shift)})
                  ]
                  spids: [10008 10015 10041 16777215]
                )
                (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: [10071 10077]
                            )
                          }
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (C {(shift)})
                  ]
                  spids: [10044 10057 10083 16777215]
                )
                (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: [10113 10119]
                            )
                          }
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (C {(shift)})
                  ]
                  spids: [10086 10099 10125 16777215]
                )
                (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: [10153 10159]
                            )
                          }
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (C {(shift)})
                  ]
                  spids: [10128 10139 10165 16777215]
                )
                (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: [10195 10201]
                            )
                          }
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (C {(shift)})
                  ]
                  spids: [10168 10181 10207 16777215]
                )
                (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: [10231 10237]
                            )
                          }
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (C {(shift)})
                  ]
                  spids: [10210 10217 10243 16777215]
                )
                (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: [10277 10283]
                            )
                          }
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (C {(shift)})
                  ]
                  spids: [10246 10263 10289 16777215]
                )
              ]
              spids: [10001 10005 10292]
            )
            (C {(func_quote_for_eval)} 
              {
                (BracedVarSub
                  token: <VSub_Number 1>
                  suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                  spids: [10302 10308]
                )
              }
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libtool_options_prep_result)
                  op: Equal
                  rhs: {($ VSub_Name '$func_quote_for_eval_result')}
                  spids: [10311]
                )
              ]
              spids: [10311]
            )
          ]
          spids: [9952]
        )
      spids: [9947 9951]
    )
    (C {(func_add_hook)} {(func_options_prep)} {(libtool_options_prep)})
    (FuncDef
      name: libtool_parse_options
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (WhileUntil
              keyword: <KW_While while>
              cond: [
                (Sentence
                  child: (C {(test)} {($ VSub_Pound '$#')} {(-gt)} {(0)})
                  terminator: <Op_Semi ';'>
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_G_opt)
                          op: Equal
                          rhs: {($ VSub_Number '$1')}
                          spids: [10367]
                        )
                      ]
                      spids: [10367]
                    )
                    (C {(shift)})
                    (Case
                      to_match: {($ VSub_Name '$_G_opt')}
                      arms: [
                        (case_arm
                          pat_list: [{(--dry-run)} {(--dryrun)} {(-n)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:opt_dry_run)
                                  op: Equal
                                  rhs: {(Lit_Other ':')}
                                  spids: [10389]
                                )
                              ]
                              spids: [10389]
                            )
                          ]
                          spids: [10381 10386 10393 16777215]
                        )
                        (case_arm
                          pat_list: [{(--config)}]
                          action: [(C {(func_config)})]
                          spids: [10397 10398 10402 16777215]
                        )
                        (case_arm
                          pat_list: [{(--dlopen)} {(-dlopen)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:opt_dlopen)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name opt_dlopen>
                                          suffix_op: 
                                            (StringUnary
                                              op_id: VTest_Plus
                                              arg_word: {($ VSub_Name '$opt_dlopen') ('\n')}
                                            )
                                          spids: [10414 10419]
                                        ) ($ VSub_Number '$1')
                                      )
                                    }
                                  spids: [10412]
                                )
                              ]
                              spids: [10412]
                            )
                            (C {(shift)})
                          ]
                          spids: [10406 10409 10427 16777215]
                        )
                        (case_arm
                          pat_list: [{(--preserve-dup-deps)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:opt_preserve_dup_deps)
                                  op: Equal
                                  rhs: {(Lit_Other ':')}
                                  spids: [10435]
                                )
                              ]
                              spids: [10435]
                            )
                          ]
                          spids: [10431 10432 10438 16777215]
                        )
                        (case_arm
                          pat_list: [{(--features)}]
                          action: [(C {(func_features)})]
                          spids: [10442 10443 10447 16777215]
                        )
                        (case_arm
                          pat_list: [{(--finish)}]
                          action: [
                            (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: [10462 10468]
                                    )
                                  }
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (C {(shift)})
                          ]
                          spids: [10451 10452 10473 16777215]
                        )
                        (case_arm
                          pat_list: [{(--help)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:opt_help)
                                  op: Equal
                                  rhs: {(Lit_Other ':')}
                                  spids: [10480]
                                )
                              ]
                              spids: [10480]
                            )
                          ]
                          spids: [10477 10478 10483 16777215]
                        )
                        (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: [10490]
                                )
                              ]
                              spids: [10490]
                            )
                          ]
                          spids: [10487 10488 10495 16777215]
                        )
                        (case_arm
                          pat_list: [{(--mode)}]
                          action: [
                            (AndOr
                              ops: [Op_DAmp Op_DAmp]
                              children: [
                                (C {(test)} {($ VSub_Pound '$#')} {(Lit_Other '=')} {(0)})
                                (C {(func_missing_arg)} {($ VSub_Name '$_G_opt')})
                                (ControlFlow
                                  token: <ControlFlow_Break break>
                                )
                              ]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:opt_mode)
                                  op: Equal
                                  rhs: {($ VSub_Number '$1')}
                                  spids: [10521]
                                )
                              ]
                              spids: [10521]
                            )
                            (Case
                              to_match: {($ VSub_Number '$1')}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(clean)}
                                    {(compile)}
                                    {(execute)}
                                    {(finish)}
                                    {(install)}
                                    {(link)}
                                    {(relink)}
                                    {(uninstall)}
                                  ]
                                  spids: [10536 10551 10553 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(func_error)} 
                                      {(DQ ('invalid argument for ') ($ VSub_Name '$_G_opt'))}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:exit_cmd)
                                          op: Equal
                                          rhs: {(ControlFlow_Exit exit)}
                                          spids: [10572]
                                        )
                                      ]
                                      spids: [10572]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Break break>
                                    )
                                  ]
                                  spids: [10561 10562 10579 16777215]
                                )
                              ]
                              spids: [10525 10529 10582]
                            )
                            (C {(shift)})
                          ]
                          spids: [10499 10500 10588 16777215]
                        )
                        (case_arm
                          pat_list: [{(--no-silent)} {(--no-quiet)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:opt_quiet)
                                  op: Equal
                                  rhs: {(false)}
                                  spids: [10598]
                                )
                              ]
                              spids: [10598]
                            )
                            (C {(func_append)} {(preserve_args)} {(DQ (' ') ($ VSub_Name '$_G_opt'))})
                          ]
                          spids: [10592 10595 10612 16777215]
                        )
                        (case_arm
                          pat_list: [{(--no-warnings)} {(--no-warning)} {(--no-warn)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:opt_warning)
                                  op: Equal
                                  rhs: {(false)}
                                  spids: [10624]
                                )
                              ]
                              spids: [10624]
                            )
                            (C {(func_append)} {(preserve_args)} {(DQ (' ') ($ VSub_Name '$_G_opt'))})
                          ]
                          spids: [10616 10621 10638 16777215]
                        )
                        (case_arm
                          pat_list: [{(--no-verbose)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:opt_verbose)
                                  op: Equal
                                  rhs: {(false)}
                                  spids: [10646]
                                )
                              ]
                              spids: [10646]
                            )
                            (C {(func_append)} {(preserve_args)} {(DQ (' ') ($ VSub_Name '$_G_opt'))})
                          ]
                          spids: [10642 10643 10660 16777215]
                        )
                        (case_arm
                          pat_list: [{(--silent)} {(--quiet)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:opt_quiet)
                                  op: Equal
                                  rhs: {(Lit_Other ':')}
                                  spids: [10670]
                                )
                              ]
                              spids: [10670]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:opt_verbose)
                                  op: Equal
                                  rhs: {(false)}
                                  spids: [10674]
                                )
                              ]
                              spids: [10674]
                            )
                            (C {(func_append)} {(preserve_args)} {(DQ (' ') ($ VSub_Name '$_G_opt'))})
                          ]
                          spids: [10664 10667 10688 16777215]
                        )
                        (case_arm
                          pat_list: [{(--tag)}]
                          action: [
                            (AndOr
                              ops: [Op_DAmp Op_DAmp]
                              children: [
                                (C {(test)} {($ VSub_Pound '$#')} {(Lit_Other '=')} {(0)})
                                (C {(func_missing_arg)} {($ VSub_Name '$_G_opt')})
                                (ControlFlow
                                  token: <ControlFlow_Break break>
                                )
                              ]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:opt_tag)
                                  op: Equal
                                  rhs: {($ VSub_Number '$1')}
                                  spids: [10714]
                                )
                              ]
                              spids: [10714]
                            )
                            (C {(func_append)} {(preserve_args)} 
                              {(DQ (' ') ($ VSub_Name '$_G_opt') (' ') ($ VSub_Number '$1'))}
                            )
                            (C {(func_enable_tag)} {(DQ ($ VSub_Number '$1'))})
                            (C {(shift)})
                          ]
                          spids: [10692 10693 10740 16777215]
                        )
                        (case_arm
                          pat_list: [{(--verbose)} {(-v)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:opt_quiet)
                                  op: Equal
                                  rhs: {(false)}
                                  spids: [10749]
                                )
                              ]
                              spids: [10749]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:opt_verbose)
                                  op: Equal
                                  rhs: {(Lit_Other ':')}
                                  spids: [10753]
                                )
                              ]
                              spids: [10753]
                            )
                            (C {(func_append)} {(preserve_args)} {(DQ (' ') ($ VSub_Name '$_G_opt'))})
                          ]
                          spids: [10744 10747 10767 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (Sentence
                              child: 
                                (C {(set)} {(dummy)} {(DQ ($ VSub_Name '$_G_opt'))} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Number 1>
                                      suffix_op: 
                                        (StringUnary
                                          op_id: VTest_Plus
                                          arg_word: {(DQ ($ VSub_At '$@'))}
                                        )
                                      spids: [10786 10792]
                                    )
                                  }
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (Sentence
                              child: (C {(shift)})
                              terminator: <Op_Semi ';'>
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [10775 10776 10800 16777215]
                        )
                      ]
                      spids: [10374 10378 10803]
                    )
                  ]
                  spids: [10364 10806]
                )
            )
            (C {(func_quote_for_eval)} 
              {
                (BracedVarSub
                  token: <VSub_Number 1>
                  suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                  spids: [10817 10823]
                )
              }
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libtool_parse_options_result)
                  op: Equal
                  rhs: {($ VSub_Name '$func_quote_for_eval_result')}
                  spids: [10826]
                )
              ]
              spids: [10826]
            )
          ]
          spids: [10338]
        )
      spids: [10333 10337]
    )
    (C {(func_add_hook)} {(func_parse_options)} {(libtool_parse_options)})
    (FuncDef
      name: libtool_validate_options
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(0)} {(-lt)} {($ VSub_Pound '$#')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:nonopt)
                          op: Equal
                          rhs: {($ VSub_Number '$1')}
                          spids: [10878]
                        )
                      ]
                      spids: [10878]
                    )
                    (C {(shift)})
                  ]
                  spids: [16777215 10875]
                )
              ]
              spids: [16777215 10885]
            )
            (AndOr
              ops: [Op_DPipe]
              children: [
                (C {(test)} {(Lit_Other ':')} {(Lit_Other '=')} {(DQ ($ VSub_Name '$debug_cmd'))})
                (C {(func_append)} {(preserve_args)} {(DQ (' --debug'))})
              ]
            )
            (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 '*')}
                    {(Lit_Other '*') (os2) (Lit_Other '*')}
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:opt_duplicate_compiler_generated_deps)
                          op: Equal
                          rhs: {(Lit_Other ':')}
                          spids: [10970]
                        )
                      ]
                      spids: [10970]
                    )
                  ]
                  spids: [10930 10963 10974 16777215]
                )
                (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_preserve_dup_deps')}
                          spids: [10981]
                        )
                      ]
                      spids: [10981]
                    )
                  ]
                  spids: [10977 10978 10985 16777215]
                )
              ]
              spids: [10915 10919 10988]
            )
            (AndOr
              ops: [Op_DPipe]
              children: [
                (C {($ VSub_Name '$opt_help')})
                (BraceGroup
                  children: [
                    (C {(func_check_version_match)})
                    (AndOr
                      ops: [Op_DAmp Op_DAmp]
                      children: [
                        (C {(test)} {(yes)} {(KW_Bang '!') (Lit_Other '=')} 
                          {(DQ ($ VSub_Name '$build_libtool_libs'))}
                        )
                        (C {(test)} {(yes)} {(KW_Bang '!') (Lit_Other '=')} 
                          {(DQ ($ VSub_Name '$build_old_libs'))}
                        )
                        (C {(func_fatal_configuration)} 
                          {(DQ ('not configured to build any kind of library'))}
                        )
                      ]
                    )
                    (C {(eval)} 
                      {(Lit_VarLike 'std_shrext=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                        ($ VSub_Name '$shrext_cmds') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                      }
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  ops: [Op_DAmp]
                                  children: [
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$opt_dlopen'))})
                                    (C {(test)} {(execute)} {(KW_Bang '!') (Lit_Other '=')} 
                                      {(DQ ($ VSub_Name '$opt_mode'))}
                                    )
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(func_error)} {(DQ ("unrecognized option '-dlopen'"))})
                            (SimpleCommand
                              words: [{($ VSub_Name '$ECHO')} {(DQ ($ VSub_Name '$help'))}]
                              redirects: [(Redir op:<Redir_GreatAnd '1>&'> fd:1 arg_word:{(2)})]
                            )
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {($ VSub_Name '$EXIT_FAILURE')}
                            )
                          ]
                          spids: [16777215 11086]
                        )
                      ]
                      spids: [16777215 11111]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:generic_help)
                          op: Equal
                          rhs: {($ VSub_Name '$help')}
                          spids: [11119]
                        )
                      ]
                      spids: [11119]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:help)
                          op: Equal
                          rhs: 
                            {
                              (DQ ("Try '") ($ VSub_Name '$progname') (' --help --mode=') 
                                ($ VSub_Name '$opt_mode') ("' for more information.")
                              )
                            }
                          spids: [11123]
                        )
                      ]
                      spids: [11123]
                    )
                  ]
                  spids: [10996]
                )
              ]
            )
            (C {(func_quote_for_eval)} 
              {
                (BracedVarSub
                  token: <VSub_Number 1>
                  suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                  spids: [11143 11149]
                )
              }
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libtool_validate_options_result)
                  op: Equal
                  rhs: {($ VSub_Name '$func_quote_for_eval_result')}
                  spids: [11152]
                )
              ]
              spids: [11152]
            )
          ]
          spids: [10857]
        )
      spids: [10852 10856]
    )
    (C {(func_add_hook)} {(func_validate_options)} {(libtool_validate_options)})
    (C {(func_options)} 
      {
        (BracedVarSub
          token: <VSub_Number 1>
          suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
          spids: [11173 11179]
        )
      }
    )
    (CommandList
      children: [
        (Sentence
          child: (C {(eval)} {(set)} {(dummy)} {(DQ ($ VSub_Name '$func_options_result'))})
          terminator: <Op_Semi ';'>
        )
        (C {(shift)})
      ]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:magic)
          op: Equal
          rhs: {(SQ <'%%%MAGIC variable%%%'>)}
          spids: [11207]
        )
      ]
      spids: [11207]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:magic_exe)
          op: Equal
          rhs: {(SQ <'%%%MAGIC EXE variable%%%'>)}
          spids: [11212]
        )
      ]
      spids: [11212]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:extracted_archives)
          op: Equal
          rhs: {(EmptyPart)}
          spids: [11221]
        )
      ]
      spids: [11221]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:extracted_serial) op:Equal rhs:{(0)} spids:[11223])]
      spids: [11223]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:exec_cmd) op:Equal rhs:{(EmptyPart)} spids:[11236])]
      spids: [11236]
    )
    (FuncDef
      name: func_fallback_echo
      body: 
        (BraceGroup
          children: [(C {(eval)} {(SQ <'cat <<_LTECHO_EOF\n'> <'$1\n'> <_LTECHO_EOF>)})]
          spids: [11248]
        )
      spids: [11243 11247]
    )
    (FuncDef
      name: func_generated_by_libtool_p
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [{($ VSub_Name '$GREP')} {(DQ ('^# Generated by .*') ($ VSub_Name '$PACKAGE'))}]
              redirects: [
                (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})
                (Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})
              ]
            )
          ]
          spids: [11276]
        )
      spids: [11271 11275]
    )
    (FuncDef
      name: func_lalib_p
      body: 
        (BraceGroup
          children: [
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(test)} {(-f)} {(DQ ($ VSub_Number '$1'))})
                (Pipeline
                  children: [
                    (SimpleCommand
                      words: [{($ VSub_Name '$SED')} {(-e)} {(4q)} {(DQ ($ VSub_Number '$1'))}]
                      redirects: [(Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})]
                    )
                    (C {(func_generated_by_libtool_p)})
                  ]
                  negated: F
                )
              ]
            )
          ]
          spids: [11313]
        )
      spids: [11308 11312]
    )
    (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:[11376])]
              spids: [11376]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DAmp Op_DAmp]
                          children: [
                            (C {(test)} {(-f)} {(DQ ($ VSub_Number '$1'))})
                            (C {(test)} {(-r)} {(DQ ($ VSub_Number '$1'))})
                            (SimpleCommand
                              words: [{(exec)}]
                              redirects: [
                                (Redir
                                  op: <Redir_LessAnd '5<&'>
                                  fd: 5
                                  arg_word: {(0)}
                                )
                                (Redir
                                  op: <Redir_Less '<'>
                                  fd: 16777215
                                  arg_word: {(DQ ($ VSub_Number '$1'))}
                                )
                              ]
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (ForEach
                      iter_name: lalib_p_l
                      iter_words: [{(1)} {(2)} {(3)} {(4)}]
                      do_arg_iter: F
                      body: 
                        (DoGroup
                          children: [
                            (C {(read)} {(lalib_p_line)})
                            (Case
                              to_match: {($ 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: [11458]
                                            )
                                          ]
                                          spids: [11458]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Break break>
                                    )
                                  ]
                                  spids: [11446 11456 11463 16777215]
                                )
                              ]
                              spids: [11439 11443 11466]
                            )
                          ]
                          spids: [11431 11469]
                        )
                      spids: [11421 16777215]
                    )
                    (SimpleCommand
                      words: [{(exec)}]
                      redirects: [
                        (Redir op:<Redir_LessAnd '0<&'> fd:0 arg_word:{(5)})
                        (Redir op:<Redir_LessAnd '5<&'> fd:5 arg_word:{(-)})
                      ]
                    )
                  ]
                  spids: [16777215 11413]
                )
              ]
              spids: [16777215 11481]
            )
            (C {(test)} {(yes)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$lalib_p'))})
          ]
          spids: [11373]
        )
      spids: [11368 11372]
    )
    (FuncDef
      name: func_ltwrapper_script_p
      body: 
        (BraceGroup
          children: [
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(test)} {(-f)} {(DQ ($ VSub_Number '$1'))})
                (Pipeline
                  children: [
                    (SimpleCommand
                      words: [{($ VSub_Name '$lt_truncate_bin')}]
                      redirects: [
                        (Redir
                          op: <Redir_Less '<'>
                          fd: 16777215
                          arg_word: {(DQ ($ VSub_Number '$1'))}
                        )
                        (Redir
                          op: <Redir_Great '2>'>
                          fd: 2
                          arg_word: {(/dev/null)}
                        )
                      ]
                    )
                    (C {(func_generated_by_libtool_p)})
                  ]
                  negated: F
                )
              ]
            )
          ]
          spids: [11514]
        )
      spids: [11509 11513]
    )
    (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: {(EmptyPart)}
                  spids: [11566]
                )
              ]
              spids: [11566]
            )
            (Case
              to_match: {($ VSub_Number '$1')}
              arms: [
                (case_arm
                  pat_list: [{(Lit_Other '*') (.exe)}]
                  spids: [11576 11578 11580 16777215]
                )
                (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: [11586]
                        )
                      ]
                      spids: [11586]
                    )
                  ]
                  spids: [11583 11584 11589 16777215]
                )
              ]
              spids: [11569 11573 11592]
            )
            (SimpleCommand
              words: [
                {($ VSub_Name '$GREP')}
                {(DQ ($ VSub_Name '$magic_exe'))}
                {(DQ ($ VSub_Number '$1') ($ VSub_Name '$func_ltwrapper_exec_suffix'))}
              ]
              redirects: [
                (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})
                (Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})
              ]
            )
          ]
          spids: [11563]
        )
      spids: [11558 11562]
    )
    (FuncDef
      name: func_ltwrapper_scriptname
      body: 
        (BraceGroup
          children: [
            (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: 
                    {($ VSub_Name '$func_dirname_result') (/) ($ VSub_Name '$objdir') (/) 
                      (${ VSub_Name func_stripname_result) (_ltshwrapper)
                    }
                  spids: [11663]
                )
              ]
              spids: [11663]
            )
          ]
          spids: [11632]
        )
      spids: [11627 11631]
    )
    (FuncDef
      name: func_ltwrapper_p
      body: 
        (BraceGroup
          children: [
            (AndOr
              ops: [Op_DPipe]
              children: [
                (C {(func_ltwrapper_script_p)} {(DQ ($ VSub_Number '$1'))})
                (C {(func_ltwrapper_executable_p)} {(DQ ($ VSub_Number '$1'))})
              ]
            )
          ]
          spids: [11693]
        )
      spids: [11688 11692]
    )
    (FuncDef
      name: func_execute_cmds
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:save_ifs)
                      op: Equal
                      rhs: {($ VSub_Name '$IFS')}
                      spids: [11738]
                    )
                  ]
                  spids: [11738]
                )
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{(SQ <'~'>)} spids:[11742])]
              spids: [11742]
            )
            (ForEach
              iter_name: cmd
              iter_words: [{($ VSub_Number '$1')}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {($ VSub_Name '$sp') ($ VSub_Name '$nl')}
                          spids: [11760]
                        )
                      ]
                      spids: [11760]
                    )
                    (C {(eval)} 
                      {(Lit_VarLike 'cmd=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                        ($ VSub_Name '$cmd') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                      }
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {($ VSub_Name '$save_ifs')}
                          spids: [11773]
                        )
                      ]
                      spids: [11773]
                    )
                    (C {(func_show_eval)} {(DQ ($ VSub_Name '$cmd'))} 
                      {
                        (DQ 
                          (BracedVarSub
                            token: <VSub_Number 2>
                            suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(':')})
                            spids: [11784 11788]
                          )
                        )
                      }
                    )
                  ]
                  spids: [11757 11792]
                )
              spids: [11753 11755]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:IFS)
                  op: Equal
                  rhs: {($ VSub_Name '$save_ifs')}
                  spids: [11795]
                )
              ]
              spids: [11795]
            )
          ]
          spids: [11731]
        )
      spids: [11726 11730]
    )
    (FuncDef
      name: func_source
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (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: [11839 11848 11856 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [(C {(.)} {(DQ (./) ($ VSub_Number '$1'))})]
                  spids: [11859 11860 11869 16777215]
                )
              ]
              spids: [11832 11836 11872]
            )
          ]
          spids: [11825]
        )
      spids: [11820 11824]
    )
    (FuncDef
      name: func_resolve_sysroot
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_resolve_sysroot_result)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [11895]
                )
              ]
              spids: [11895]
            )
            (Case
              to_match: {($ VSub_Name '$func_resolve_sysroot_result')}
              arms: [
                (case_arm
                  pat_list: [{(Lit_Other '=') (Lit_Other '*')}]
                  action: [
                    (C {(func_stripname)} {(SQ <'='>)} {(SQ )} 
                      {(DQ ($ VSub_Name '$func_resolve_sysroot_result'))}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_resolve_sysroot_result)
                          op: Equal
                          rhs: {($ VSub_Name '$lt_sysroot') ($ VSub_Name '$func_stripname_result')}
                          spids: [11925]
                        )
                      ]
                      spids: [11925]
                    )
                  ]
                  spids: [11906 11908 11930 16777215]
                )
              ]
              spids: [11899 11903 11933]
            )
          ]
          spids: [11892]
        )
      spids: [11887 11891]
    )
    (FuncDef
      name: func_replace_sysroot
      body: 
        (BraceGroup
          children: [
            (Case
              to_match: {($ VSub_Name '$lt_sysroot') (Lit_Other ':') ($ VSub_Number '$1')}
              arms: [
                (case_arm
                  pat_list: [
                    {(Lit_Other '?') (Lit_Other '*') (Lit_Other ':') (DQ ($ VSub_Name '$lt_sysroot')) 
                      (Lit_Other '*')
                    }
                  ]
                  action: [
                    (C {(func_stripname)} {(DQ ($ VSub_Name '$lt_sysroot'))} {(SQ )} 
                      {(DQ ($ VSub_Number '$1'))}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_replace_sysroot_result)
                          op: Equal
                          rhs: {(SQ <'='>) ($ VSub_Name '$func_stripname_result')}
                          spids: [11988]
                        )
                      ]
                      spids: [11988]
                    )
                  ]
                  spids: [11964 11971 11995 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_replace_sysroot_result)
                          op: Equal
                          rhs: {($ VSub_Number '$1')}
                          spids: [12006]
                        )
                      ]
                      spids: [12006]
                    )
                  ]
                  spids: [11998 11999 12010 16777215]
                )
              ]
              spids: [11955 11961 12013]
            )
          ]
          spids: [11952]
        )
      spids: [11947 11951]
    )
    (FuncDef
      name: func_infer_tag
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$available_tags'))})
                            (C {(test)} {(-z)} {(DQ ($ VSub_Name '$tagname'))})
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:CC_quoted)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [12072]
                        )
                      ]
                      spids: [12072]
                    )
                    (ForEach
                      iter_name: arg
                      iter_words: [{($ VSub_Name '$CC')}]
                      do_arg_iter: F
                      body: 
                        (DoGroup
                          children: [
                            (C {(func_append_quoted)} {(CC_quoted)} {(DQ ($ VSub_Name '$arg'))})
                          ]
                          spids: [12084 12096]
                        )
                      spids: [12080 12082]
                    )
                    (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: [12100 12104]
                              )
                            }
                          spids: [12099]
                        )
                      ]
                      spids: [12099]
                    )
                    (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: [12108 12112]
                              )
                            }
                          spids: [12107]
                        )
                      ]
                      spids: [12107]
                    )
                    (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: [12130 12196 12198 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (ForEach
                              iter_name: z
                              iter_words: [{($ VSub_Name '$available_tags')}]
                              do_arg_iter: F
                              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: <Redir_Less '<'>
                                                      fd: 16777215
                                                      arg_word: {(DQ ($ VSub_Name '$progpath'))}
                                                    )
                                                    (Redir
                                                      op: <Redir_Great '>'>
                                                      fd: 16777215
                                                      arg_word: {(/dev/null)}
                                                    )
                                                  ]
                                                )
                                              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: <Redir_Less '<'>
                                                                fd: 16777215
                                                                arg_word: {($ VSub_Name '$progpath')}
                                                              )
                                                            ]
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick '`'>
                                                    spids: [12256 12278]
                                                  )
                                                )
                                              }
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:CC_quoted)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [12282]
                                                )
                                              ]
                                              spids: [12282]
                                            )
                                            (ForEach
                                              iter_name: arg
                                              iter_words: [{($ VSub_Name '$CC')}]
                                              do_arg_iter: F
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (C {(func_append_quoted)} {(CC_quoted)} 
                                                      {(DQ ($ VSub_Name '$arg'))}
                                                    )
                                                  ]
                                                  spids: [12294 12310]
                                                )
                                              spids: [12290 12292]
                                            )
                                            (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: [12314 12318]
                                                      )
                                                    }
                                                  spids: [12313]
                                                )
                                              ]
                                              spids: [12313]
                                            )
                                            (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: [12322 12326]
                                                      )
                                                    }
                                                  spids: [12321]
                                                )
                                              ]
                                              spids: [12321]
                                            )
                                            (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: [12420]
                                                        )
                                                      ]
                                                      spids: [12420]
                                                    )
                                                    (ControlFlow
                                                      token: <ControlFlow_Break break>
                                                    )
                                                  ]
                                                  spids: [12339 12405 12427 16777215]
                                                )
                                              ]
                                              spids: [12329 12336 12430]
                                            )
                                          ]
                                          spids: [16777215 12246]
                                        )
                                      ]
                                      spids: [16777215 12433]
                                    )
                                  ]
                                  spids: [12222 12436]
                                )
                              spids: [12218 12220]
                            )
                            (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 '--tag'"))})
                                  ]
                                  spids: [16777215 12462]
                                )
                              ]
                              spids: [16777215 12485]
                            )
                          ]
                          spids: [12209 12210 12488 16777215]
                        )
                      ]
                      spids: [12115 12119 12491]
                    )
                  ]
                  spids: [16777215 12069]
                )
              ]
              spids: [16777215 12494]
            )
          ]
          spids: [12041]
        )
      spids: [12036 12040]
    )
    (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: [12518]
                )
              ]
              spids: [12518]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(yes)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$build_libtool_libs'))})
                      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: [12538]
                        )
                      ]
                      spids: [12538]
                    )
                  ]
                  spids: [16777215 12535]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:write_lobj)
                      op: Equal
                      rhs: {(none)}
                      spids: [12547]
                    )
                  ]
                  spids: [12547]
                )
              ]
              spids: [12544 12551]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(yes)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$build_old_libs'))})
                      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: [12571]
                        )
                      ]
                      spids: [12571]
                    )
                  ]
                  spids: [16777215 12568]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:write_oldobj)
                      op: Equal
                      rhs: {(none)}
                      spids: [12580]
                    )
                  ]
                  spids: [12580]
                )
              ]
              spids: [12577 12584]
            )
            (AndOr
              ops: [Op_DPipe]
              children: [
                (C {($ VSub_Name '$opt_dry_run')})
                (BraceGroup
                  children: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (Redir
                          op: <Redir_Great '>'>
                          fd: 16777215
                          arg_word: {(${ VSub_Name write_libobj) (T)}
                        )
                        (HereDoc
                          op: <Redir_DLess '<<'>
                          fd: 16777215
                          here_begin: {(EOF)}
                          here_end_span_id: 12631
                          stdin_parts: [
                            ('# ')
                            ($ VSub_Name '$write_libobj')
                            (' - a libtool object file\n')
                            ('# Generated by ')
                            ($ VSub_Name '$PROGRAM')
                            (' (GNU ')
                            ($ VSub_Name '$PACKAGE')
                            (') ')
                            ($ 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')
                          ]
                        )
                      ]
                    )
                    (C {($ VSub_Name '$MV')} {(DQ (${ VSub_Name write_libobj) (T))} 
                      {(DQ ($ VSub_Name '$write_libobj'))}
                    )
                  ]
                  spids: [12592]
                )
              ]
            )
          ]
          spids: [12515]
        )
      spids: [12510 12514]
    )
    (FuncDef
      name: func_convert_core_file_wine_to_w32
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_convert_core_file_wine_to_w32_result)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [12702]
                )
              ]
              spids: [12702]
            )
            (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:func_convert_core_file_wine_to_w32_tmp)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (SimpleCommand
                                        words: [{(winepath)} {(-w)} {(DQ ($ VSub_Number '$1'))}]
                                        redirects: [
                                          (Redir
                                            op: <Redir_Great '2>'>
                                            fd: 2
                                            arg_word: {(/dev/null)}
                                          )
                                        ]
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [12741 12752]
                              )
                            }
                          spids: [12740]
                        )
                      ]
                      spids: [12740]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  ops: [Op_DAmp]
                                  children: [
                                    (C {(test)} {(DQ ($ VSub_QMark '$?'))} {(-eq)} {(0)})
                                    (C {(test)} {(-n)} 
                                      {(DQ ($ VSub_Name '$func_convert_core_file_wine_to_w32_tmp'))}
                                    )
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:func_convert_core_file_wine_to_w32_result)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$ECHO')} 
                                                    {
                                                      (DQ 
                                                        ($ VSub_Name 
'$func_convert_core_file_wine_to_w32_tmp'
                                                        )
                                                      )
                                                    }
                                                  )
                                                  (C {($ VSub_Name '$SED')} {(-e)} 
                                                    {(DQ ($ VSub_Name '$sed_naive_backslashify'))}
                                                  )
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [12782 12799]
                                      )
                                    }
                                  spids: [12781]
                                )
                              ]
                              spids: [12781]
                            )
                          ]
                          spids: [16777215 12778]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:func_convert_core_file_wine_to_w32_result)
                              op: Equal
                              rhs: {(EmptyPart)}
                              spids: [12805]
                            )
                          ]
                          spids: [12805]
                        )
                      ]
                      spids: [12802 12808]
                    )
                  ]
                  spids: [16777215 12717]
                )
              ]
              spids: [16777215 12811]
            )
          ]
          spids: [12695]
        )
      spids: [12690 12694]
    )
    (FuncDef
      name: func_convert_core_path_wine_to_w32
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_convert_core_path_wine_to_w32_result)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [12866]
                )
              ]
              spids: [12866]
            )
            (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:oldIFS)
                          op: Equal
                          rhs: {($ VSub_Name '$IFS')}
                          spids: [12883]
                        )
                      ]
                      spids: [12883]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {(Lit_Other ':')}
                          spids: [12887]
                        )
                      ]
                      spids: [12887]
                    )
                    (ForEach
                      iter_name: func_convert_core_path_wine_to_w32_f
                      iter_words: [{($ VSub_Number '$1')}]
                      do_arg_iter: F
                      body: 
                        (DoGroup
                          children: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {($ VSub_Name '$oldIFS')}
                                  spids: [12903]
                                )
                              ]
                              spids: [12903]
                            )
                            (C {(func_convert_core_file_wine_to_w32)} 
                              {(DQ ($ VSub_Name '$func_convert_core_path_wine_to_w32_f'))}
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-n)} 
                                          {
                                            (DQ 
                                              ($ VSub_Name 
'$func_convert_core_file_wine_to_w32_result'
                                              )
                                            )
                                          }
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-z)} 
                                                  {
                                                    (DQ 
                                                      ($ VSub_Name 
'$func_convert_core_path_wine_to_w32_result'
                                                      )
                                                    )
                                                  }
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (LhsName
                                                      name: 
func_convert_core_path_wine_to_w32_result
                                                    )
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      ($ VSub_Name 
'$func_convert_core_file_wine_to_w32_result'
                                                      )
                                                    }
                                                  spids: [12942]
                                                )
                                              ]
                                              spids: [12942]
                                            )
                                          ]
                                          spids: [16777215 12939]
                                        )
                                      ]
                                      else_action: [
                                        (C {(func_append)} 
                                          {(func_convert_core_path_wine_to_w32_result)} {(DQ (';') ($ VSub_Name '$func_convert_core_file_wine_to_w32_result'))}
                                        )
                                      ]
                                      spids: [12946 12959]
                                    )
                                  ]
                                  spids: [16777215 12925]
                                )
                              ]
                              spids: [16777215 12962]
                            )
                          ]
                          spids: [12900 12965]
                        )
                      spids: [12896 12898]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {($ VSub_Name '$oldIFS')}
                          spids: [12968]
                        )
                      ]
                      spids: [12968]
                    )
                  ]
                  spids: [16777215 12880]
                )
              ]
              spids: [16777215 12972]
            )
          ]
          spids: [12855]
        )
      spids: [12850 12854]
    )
    (FuncDef
      name: func_cygpath
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$LT_CYGPATH'))})
                            (C {(test)} {(-f)} {(DQ ($ VSub_Name '$LT_CYGPATH'))})
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_cygpath_result)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (SimpleCommand
                                        words: [{($ VSub_Name '$LT_CYGPATH')} {(DQ ($ VSub_At '$@'))}]
                                        redirects: [
                                          (Redir
                                            op: <Redir_Great '2>'>
                                            fd: 2
                                            arg_word: {(/dev/null)}
                                          )
                                        ]
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [13063 13072]
                              )
                            }
                          spids: [13062]
                        )
                      ]
                      spids: [13062]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(DQ ($ VSub_QMark '$?'))} {(-ne)} {(0)})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:func_cygpath_result)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [13095]
                                )
                              ]
                              spids: [13095]
                            )
                          ]
                          spids: [16777215 13088]
                        )
                      ]
                      spids: [16777215 13098]
                    )
                  ]
                  spids: [16777215 13059]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:func_cygpath_result)
                      op: Equal
                      rhs: {(EmptyPart)}
                      spids: [13104]
                    )
                  ]
                  spids: [13104]
                )
                (C {(func_error)} 
                  {
                    (DQ ("LT_CYGPATH is empty or specifies non-existent file: '") 
                      ($ VSub_Name '$LT_CYGPATH') ("'")
                    )
                  }
                )
              ]
              spids: [13101 13116]
            )
          ]
          spids: [13031]
        )
      spids: [13026 13030]
    )
    (FuncDef
      name: func_convert_core_msys_to_w32
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_convert_core_msys_to_w32_result)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (Subshell
                                    child: (C {(cmd)} {(//c)} {(echo)} {(DQ ($ VSub_Number '$1'))})
                                    redirects: [
                                      (Redir
                                        op: <Redir_Great '2>'>
                                        fd: 2
                                        arg_word: {(/dev/null)}
                                      )
                                    ]
                                    spids: [13152 13164]
                                  )
                                  (C {($ VSub_Name '$SED')} {(-e)} {(SQ <'s/[ ]*$//'>)} {(-e)} 
                                    {(DQ ($ VSub_Name '$sed_naive_backslashify'))}
                                  )
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [13151 13185]
                      )
                    }
                  spids: [13150]
                )
              ]
              spids: [13150]
            )
          ]
          spids: [13139]
        )
      spids: [13134 13138]
    )
    (FuncDef
      name: func_convert_file_check
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (C {(test)} {(-z)} {(DQ ($ VSub_Number '$2'))})
                            (C {(test)} {(-n)} {(DQ ($ VSub_Number '$1'))})
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(func_error)} {(DQ ('Could not determine host file name corresponding to'))})
                    (C {(func_error)} {(DQ ("  '") ($ 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_file_result)
                          op: Equal
                          rhs: {($ VSub_Number '$1')}
                          spids: [13269]
                        )
                      ]
                      spids: [13269]
                    )
                  ]
                  spids: [16777215 13239]
                )
              ]
              spids: [16777215 13273]
            )
          ]
          spids: [13211]
        )
      spids: [13206 13210]
    )
    (FuncDef
      name: func_convert_path_check
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (C {(test)} {(-z)} {(DQ ($ VSub_Number '$4'))})
                            (C {(test)} {(-n)} {(DQ ($ VSub_Number '$3'))})
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(func_error)} {(DQ ('Could not determine the host path corresponding to'))})
                    (C {(func_error)} {(DQ ("  '") ($ VSub_Number '$3') ("'"))})
                    (C {(func_error)} {(DQ ('Continuing, but uninstalled executables may not work.'))})
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ (x) ($ VSub_Number '$1'))} 
                                  {(KW_Bang '!') (Lit_Other '=')} {(DQ (x) ($ VSub_Number '$2'))}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:lt_replace_pathsep_chars)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ('s|') ($ VSub_Number '$1') ('|') ($ VSub_Number '$2') ('|g'))
                                    }
                                  spids: [13382]
                                )
                              ]
                              spids: [13382]
                            )
                            (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 {(echo)} {(DQ ($ VSub_Number '$3'))})
                                                  (C {($ VSub_Name '$SED')} {(-e)} 
                                                    {(DQ ($ VSub_Name '$lt_replace_pathsep_chars'))}
                                                  )
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [13393 13410]
                                      )
                                    }
                                  spids: [13392]
                                )
                              ]
                              spids: [13392]
                            )
                          ]
                          spids: [16777215 13379]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:func_to_host_path_result)
                              op: Equal
                              rhs: {($ VSub_Number '$3')}
                              spids: [13416]
                            )
                          ]
                          spids: [13416]
                        )
                      ]
                      spids: [13413 13420]
                    )
                  ]
                  spids: [16777215 13327]
                )
              ]
              spids: [16777215 13423]
            )
          ]
          spids: [13299]
        )
      spids: [13294 13298]
    )
    (FuncDef
      name: func_convert_path_front_back_pathsep
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (Case
              to_match: {($ VSub_Number '$4')}
              arms: [
                (case_arm
                  pat_list: [{($ VSub_Number '$1')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_to_host_path_result)
                          op: Equal
                          rhs: {($ VSub_Number '$3') ($ VSub_Name '$func_to_host_path_result')}
                          spids: [13464]
                        )
                      ]
                      spids: [13464]
                    )
                  ]
                  spids: [13460 13462 13469 16777215]
                )
              ]
              spids: [13453 13457 13472]
            )
            (Case
              to_match: {($ VSub_Number '$4')}
              arms: [
                (case_arm
                  pat_list: [{($ VSub_Number '$2')}]
                  action: [(C {(func_append)} {(func_to_host_path_result)} {(DQ ($ VSub_Number '$3'))})]
                  spids: [13482 13484 13495 16777215]
                )
              ]
              spids: [13475 13479 13498]
            )
          ]
          spids: [13446]
        )
      spids: [13441 13445]
    )
    (FuncDef
      name: func_to_host_file
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (C {($ VSub_Name '$to_host_file_cmd')} {(DQ ($ VSub_Number '$1'))})
          ]
          spids: [13544]
        )
      spids: [13539 13543]
    )
    (FuncDef
      name: func_to_tool_file
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (Case
              to_match: {(Lit_Comma ',') ($ VSub_Number '$2') (Lit_Comma ',')}
              arms: [
                (case_arm
                  pat_list: [
                    {(Lit_Other '*') (Lit_Comma ',') (DQ ($ VSub_Name '$to_tool_file_cmd')) 
                      (Lit_Comma ',') (Lit_Other '*')
                    }
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_to_tool_file_result)
                          op: Equal
                          rhs: {($ VSub_Number '$1')}
                          spids: [13607]
                        )
                      ]
                      spids: [13607]
                    )
                  ]
                  spids: [13597 13604 13611 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (C {($ VSub_Name '$to_tool_file_cmd')} {(DQ ($ VSub_Number '$1'))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_to_tool_file_result)
                          op: Equal
                          rhs: {($ VSub_Name '$func_to_host_file_result')}
                          spids: [13625]
                        )
                      ]
                      spids: [13625]
                    )
                  ]
                  spids: [13614 13615 13629 16777215]
                )
              ]
              spids: [13588 13594 13632]
            )
          ]
          spids: [13581]
        )
      spids: [13576 13580]
    )
    (FuncDef
      name: func_convert_file_noop
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_to_host_file_result)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [13655]
                )
              ]
              spids: [13655]
            )
          ]
          spids: [13652]
        )
      spids: [13647 13651]
    )
    (FuncDef
      name: func_convert_file_msys_to_w32
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_to_host_file_result)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [13689]
                )
              ]
              spids: [13689]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Number '$1'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(func_convert_core_msys_to_w32)} {(DQ ($ VSub_Number '$1'))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_to_host_file_result)
                          op: Equal
                          rhs: {($ VSub_Name '$func_convert_core_msys_to_w32_result')}
                          spids: [13714]
                        )
                      ]
                      spids: [13714]
                    )
                  ]
                  spids: [16777215 13704]
                )
              ]
              spids: [16777215 13718]
            )
            (C {(func_convert_file_check)} {(DQ ($ VSub_Number '$1'))} 
              {(DQ ($ VSub_Name '$func_to_host_file_result'))}
            )
          ]
          spids: [13682]
        )
      spids: [13677 13681]
    )
    (FuncDef
      name: func_convert_file_cygwin_to_w32
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_to_host_file_result)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [13759]
                )
              ]
              spids: [13759]
            )
            (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:func_to_host_file_result)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(cygpath)} {(-m)} {(DQ ($ VSub_Number '$1'))})]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [13786 13794]
                              )
                            }
                          spids: [13785]
                        )
                      ]
                      spids: [13785]
                    )
                  ]
                  spids: [16777215 13774]
                )
              ]
              spids: [16777215 13797]
            )
            (C {(func_convert_file_check)} {(DQ ($ VSub_Number '$1'))} 
              {(DQ ($ VSub_Name '$func_to_host_file_result'))}
            )
          ]
          spids: [13752]
        )
      spids: [13747 13751]
    )
    (FuncDef
      name: func_convert_file_nix_to_w32
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_to_host_file_result)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [13838]
                )
              ]
              spids: [13838]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Number '$1'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(func_convert_core_file_wine_to_w32)} {(DQ ($ VSub_Number '$1'))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_to_host_file_result)
                          op: Equal
                          rhs: {($ VSub_Name '$func_convert_core_file_wine_to_w32_result')}
                          spids: [13863]
                        )
                      ]
                      spids: [13863]
                    )
                  ]
                  spids: [16777215 13853]
                )
              ]
              spids: [16777215 13867]
            )
            (C {(func_convert_file_check)} {(DQ ($ VSub_Number '$1'))} 
              {(DQ ($ VSub_Name '$func_to_host_file_result'))}
            )
          ]
          spids: [13831]
        )
      spids: [13826 13830]
    )
    (FuncDef
      name: func_convert_file_msys_to_cygwin
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_to_host_file_result)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [13908]
                )
              ]
              spids: [13908]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Number '$1'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(func_convert_core_msys_to_w32)} {(DQ ($ VSub_Number '$1'))})
                    (C {(func_cygpath)} {(-u)} 
                      {(DQ ($ VSub_Name '$func_convert_core_msys_to_w32_result'))}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_to_host_file_result)
                          op: Equal
                          rhs: {($ VSub_Name '$func_cygpath_result')}
                          spids: [13942]
                        )
                      ]
                      spids: [13942]
                    )
                  ]
                  spids: [16777215 13923]
                )
              ]
              spids: [16777215 13946]
            )
            (C {(func_convert_file_check)} {(DQ ($ VSub_Number '$1'))} 
              {(DQ ($ VSub_Name '$func_to_host_file_result'))}
            )
          ]
          spids: [13901]
        )
      spids: [13896 13900]
    )
    (FuncDef
      name: func_convert_file_nix_to_cygwin
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_to_host_file_result)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [13990]
                )
              ]
              spids: [13990]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Number '$1'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(func_convert_core_file_wine_to_w32)} {(DQ ($ VSub_Number '$1'))})
                    (C {(func_cygpath)} {(-u)} 
                      {(DQ ($ VSub_Name '$func_convert_core_file_wine_to_w32_result'))}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_to_host_file_result)
                          op: Equal
                          rhs: {($ VSub_Name '$func_cygpath_result')}
                          spids: [14028]
                        )
                      ]
                      spids: [14028]
                    )
                  ]
                  spids: [16777215 14005]
                )
              ]
              spids: [16777215 14032]
            )
            (C {(func_convert_file_check)} {(DQ ($ VSub_Number '$1'))} 
              {(DQ ($ VSub_Name '$func_to_host_file_result'))}
            )
          ]
          spids: [13983]
        )
      spids: [13978 13982]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:to_host_path_cmd)
          op: Equal
          rhs: {(EmptyPart)}
          spids: [14120]
        )
      ]
      spids: [14120]
    )
    (FuncDef
      name: func_init_to_host_path_cmd
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-z)} {(DQ ($ VSub_Name '$to_host_path_cmd'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(func_stripname)} {(SQ <func_convert_file_>)} {(SQ )} 
                      {(DQ ($ VSub_Name '$to_host_file_cmd'))}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:to_host_path_cmd)
                          op: Equal
                          rhs: {(func_convert_path_) ($ VSub_Name '$func_stripname_result')}
                          spids: [14162]
                        )
                      ]
                      spids: [14162]
                    )
                  ]
                  spids: [16777215 14145]
                )
              ]
              spids: [16777215 14167]
            )
          ]
          spids: [14127]
        )
      spids: [14122 14126]
    )
    (FuncDef
      name: func_to_host_path
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (C {(func_init_to_host_path_cmd)})
            (C {($ VSub_Name '$to_host_path_cmd')} {(DQ ($ VSub_Number '$1'))})
          ]
          spids: [14187]
        )
      spids: [14182 14186]
    )
    (FuncDef
      name: func_convert_path_noop
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_to_host_path_result)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [14224]
                )
              ]
              spids: [14224]
            )
          ]
          spids: [14221]
        )
      spids: [14216 14220]
    )
    (FuncDef
      name: func_convert_path_msys_to_w32
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_to_host_path_result)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [14258]
                )
              ]
              spids: [14258]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Number '$1'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(func_stripname)} {(Lit_Other ':')} {(Lit_Other ':')} {(DQ ($ VSub_Number '$1'))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_to_host_path_tmp1)
                          op: Equal
                          rhs: {($ VSub_Name '$func_stripname_result')}
                          spids: [14299]
                        )
                      ]
                      spids: [14299]
                    )
                    (C {(func_convert_core_msys_to_w32)} {(DQ ($ VSub_Name '$func_to_host_path_tmp1'))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_to_host_path_result)
                          op: Equal
                          rhs: {($ VSub_Name '$func_convert_core_msys_to_w32_result')}
                          spids: [14310]
                        )
                      ]
                      spids: [14310]
                    )
                    (C {(func_convert_path_check)} {(Lit_Other ':')} {(DQ (';'))} 
                      {(DQ ($ VSub_Name '$func_to_host_path_tmp1'))} {(DQ ($ VSub_Name '$func_to_host_path_result'))}
                    )
                    (C {(func_convert_path_front_back_pathsep)} {(DQ (':*'))} {(DQ ('*:'))} {(DQ (';'))} 
                      {(DQ ($ VSub_Number '$1'))}
                    )
                  ]
                  spids: [16777215 14273]
                )
              ]
              spids: [16777215 14352]
            )
          ]
          spids: [14251]
        )
      spids: [14246 14250]
    )
    (FuncDef
      name: func_convert_path_cygwin_to_w32
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_to_host_path_result)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [14382]
                )
              ]
              spids: [14382]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Number '$1'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(func_stripname)} {(Lit_Other ':')} {(Lit_Other ':')} {(DQ ($ VSub_Number '$1'))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_to_host_path_tmp1)
                          op: Equal
                          rhs: {($ VSub_Name '$func_stripname_result')}
                          spids: [14415]
                        )
                      ]
                      spids: [14415]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_to_host_path_result)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(cygpath)} {(-m)} {(-p)} 
                                        {(DQ ($ VSub_Name '$func_to_host_path_tmp1'))}
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [14420 14430]
                              )
                            }
                          spids: [14419]
                        )
                      ]
                      spids: [14419]
                    )
                    (C {(func_convert_path_check)} {(Lit_Other ':')} {(DQ (';'))} 
                      {(DQ ($ VSub_Name '$func_to_host_path_tmp1'))} {(DQ ($ VSub_Name '$func_to_host_path_result'))}
                    )
                    (C {(func_convert_path_front_back_pathsep)} {(DQ (':*'))} {(DQ ('*:'))} {(DQ (';'))} 
                      {(DQ ($ VSub_Number '$1'))}
                    )
                  ]
                  spids: [16777215 14397]
                )
              ]
              spids: [16777215 14471]
            )
          ]
          spids: [14375]
        )
      spids: [14370 14374]
    )
    (FuncDef
      name: func_convert_path_nix_to_w32
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_to_host_path_result)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [14501]
                )
              ]
              spids: [14501]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Number '$1'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(func_stripname)} {(Lit_Other ':')} {(Lit_Other ':')} {(DQ ($ VSub_Number '$1'))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_to_host_path_tmp1)
                          op: Equal
                          rhs: {($ VSub_Name '$func_stripname_result')}
                          spids: [14534]
                        )
                      ]
                      spids: [14534]
                    )
                    (C {(func_convert_core_path_wine_to_w32)} 
                      {(DQ ($ VSub_Name '$func_to_host_path_tmp1'))}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_to_host_path_result)
                          op: Equal
                          rhs: {($ VSub_Name '$func_convert_core_path_wine_to_w32_result')}
                          spids: [14545]
                        )
                      ]
                      spids: [14545]
                    )
                    (C {(func_convert_path_check)} {(Lit_Other ':')} {(DQ (';'))} 
                      {(DQ ($ VSub_Name '$func_to_host_path_tmp1'))} {(DQ ($ VSub_Name '$func_to_host_path_result'))}
                    )
                    (C {(func_convert_path_front_back_pathsep)} {(DQ (':*'))} {(DQ ('*:'))} {(DQ (';'))} 
                      {(DQ ($ VSub_Number '$1'))}
                    )
                  ]
                  spids: [16777215 14516]
                )
              ]
              spids: [16777215 14587]
            )
          ]
          spids: [14494]
        )
      spids: [14489 14493]
    )
    (FuncDef
      name: func_convert_path_msys_to_cygwin
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_to_host_path_result)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [14617]
                )
              ]
              spids: [14617]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Number '$1'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(func_stripname)} {(Lit_Other ':')} {(Lit_Other ':')} {(DQ ($ VSub_Number '$1'))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_to_host_path_tmp1)
                          op: Equal
                          rhs: {($ VSub_Name '$func_stripname_result')}
                          spids: [14650]
                        )
                      ]
                      spids: [14650]
                    )
                    (C {(func_convert_core_msys_to_w32)} {(DQ ($ VSub_Name '$func_to_host_path_tmp1'))})
                    (C {(func_cygpath)} {(-u)} {(-p)} 
                      {(DQ ($ VSub_Name '$func_convert_core_msys_to_w32_result'))}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_to_host_path_result)
                          op: Equal
                          rhs: {($ VSub_Name '$func_cygpath_result')}
                          spids: [14672]
                        )
                      ]
                      spids: [14672]
                    )
                    (C {(func_convert_path_check)} {(Lit_Other ':')} {(Lit_Other ':')} 
                      {(DQ ($ VSub_Name '$func_to_host_path_tmp1'))} {(DQ ($ VSub_Name '$func_to_host_path_result'))}
                    )
                    (C {(func_convert_path_front_back_pathsep)} {(DQ (':*'))} {(DQ ('*:'))} 
                      {(Lit_Other ':')} {(DQ ($ VSub_Number '$1'))}
                    )
                  ]
                  spids: [16777215 14632]
                )
              ]
              spids: [16777215 14710]
            )
          ]
          spids: [14610]
        )
      spids: [14605 14609]
    )
    (FuncDef
      name: func_convert_path_nix_to_cygwin
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_to_host_path_result)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [14743]
                )
              ]
              spids: [14743]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Number '$1'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(func_stripname)} {(Lit_Other ':')} {(Lit_Other ':')} {(DQ ($ VSub_Number '$1'))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_to_host_path_tmp1)
                          op: Equal
                          rhs: {($ VSub_Name '$func_stripname_result')}
                          spids: [14784]
                        )
                      ]
                      spids: [14784]
                    )
                    (C {(func_convert_core_path_wine_to_w32)} 
                      {(DQ ($ VSub_Name '$func_to_host_path_tmp1'))}
                    )
                    (C {(func_cygpath)} {(-u)} {(-p)} 
                      {(DQ ($ VSub_Name '$func_convert_core_path_wine_to_w32_result'))}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_to_host_path_result)
                          op: Equal
                          rhs: {($ VSub_Name '$func_cygpath_result')}
                          spids: [14806]
                        )
                      ]
                      spids: [14806]
                    )
                    (C {(func_convert_path_check)} {(Lit_Other ':')} {(Lit_Other ':')} 
                      {(DQ ($ VSub_Name '$func_to_host_path_tmp1'))} {(DQ ($ VSub_Name '$func_to_host_path_result'))}
                    )
                    (C {(func_convert_path_front_back_pathsep)} {(DQ (':*'))} {(DQ ('*:'))} 
                      {(Lit_Other ':')} {(DQ ($ VSub_Number '$1'))}
                    )
                  ]
                  spids: [16777215 14758]
                )
              ]
              spids: [16777215 14844]
            )
          ]
          spids: [14736]
        )
      spids: [14731 14735]
    )
    (FuncDef
      name: func_dll_def_p
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_dll_def_p_tmp)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {($ VSub_Name '$SED')} {(-n)} {(-e)} {(SQ <'s/^[\t ]*//'>)} {(-e)} 
                                {(SQ <'/^\\(;.*\\)*$/d'>)} {(-e)} {(SQ <'s/^\\(EXPORTS\\|LIBRARY\\)\\([\t ].*\\)*$/DEF/p'>)} {(-e)} {(q)} {(DQ ($ VSub_Number '$1'))}
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [14875 14915]
                      )
                    }
                  spids: [14874]
                )
              ]
              spids: [14874]
            )
            (C {(test)} {(DEF)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$func_dll_def_p_tmp'))})
          ]
          spids: [14867]
        )
      spids: [14862 14866]
    )
    (FuncDef
      name: func_mode_compile
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:base_compile)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [14951]
                )
              ]
              spids: [14951]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:srcfile)
                  op: Equal
                  rhs: {($ VSub_Name '$nonopt')}
                  spids: [14954]
                )
              ]
              spids: [14954]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:suppress_opt)
                  op: Equal
                  rhs: {(yes)}
                  spids: [14961]
                )
              ]
              spids: [14961]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:suppress_output)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [14965]
                )
              ]
              spids: [14965]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:arg_mode) op:Equal rhs:{(normal)} spids:[14968])]
              spids: [14968]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libobj)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [14972]
                )
              ]
              spids: [14972]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:later) op:Equal rhs:{(EmptyPart)} spids:[14975])]
              spids: [14975]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pie_flag)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [14978]
                )
              ]
              spids: [14978]
            )
            (ForEach
              iter_name: arg
              do_arg_iter: T
              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: {($ VSub_Name '$arg')}
                                  spids: [15006]
                                )
                              ]
                              spids: [15006]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg_mode)
                                  op: Equal
                                  rhs: {(normal)}
                                  spids: [15010]
                                )
                              ]
                              spids: [15010]
                            )
                          ]
                          spids: [14997 14999 15014 16777215]
                        )
                        (case_arm
                          pat_list: [{(target)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libobj)
                                  op: Equal
                                  rhs: {($ VSub_Name '$arg')}
                                  spids: [15023]
                                )
                              ]
                              spids: [15023]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg_mode)
                                  op: Equal
                                  rhs: {(normal)}
                                  spids: [15027]
                                )
                              ]
                              spids: [15027]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [15018 15020 15034 16777215]
                        )
                        (case_arm
                          pat_list: [{(normal)}]
                          action: [
                            (Case
                              to_match: {($ VSub_Name '$arg')}
                              arms: [
                                (case_arm
                                  pat_list: [{(-o)}]
                                  action: [
                                    (AndOr
                                      ops: [Op_DAmp]
                                      children: [
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$libobj'))})
                                        (C {(func_fatal_error)} 
                                          {(DQ ("you cannot specify '-o' more than once"))}
                                        )
                                      ]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:arg_mode)
                                          op: Equal
                                          rhs: {(target)}
                                          spids: [15077]
                                        )
                                      ]
                                      spids: [15077]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [15054 15055 15084 16777215]
                                )
                                (case_arm
                                  pat_list: [{(-pie)} {(-fpie)} {(-fPIE)}]
                                  action: [
                                    (C {(func_append)} {(pie_flag)} {(DQ (' ') ($ VSub_Name '$arg'))})
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [15088 15097 15113 16777215]
                                )
                                (case_arm
                                  pat_list: [{(-shared)} {(-static)} {(-prefer-pic)} {(-prefer-non-pic)}]
                                  action: [
                                    (C {(func_append)} {(later)} {(DQ (' ') ($ VSub_Name '$arg'))})
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [15117 15130 15146 16777215]
                                )
                                (case_arm
                                  pat_list: [{(-no-suppress)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:suppress_opt)
                                          op: Equal
                                          rhs: {(no)}
                                          spids: [15154]
                                        )
                                      ]
                                      spids: [15154]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [15150 15151 15161 16777215]
                                )
                                (case_arm
                                  pat_list: [{(-Xcompiler)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:arg_mode)
                                          op: Equal
                                          rhs: {(arg)}
                                          spids: [15169]
                                        )
                                      ]
                                      spids: [15169]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [15165 15166 15182 16777215]
                                )
                                (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: [15209]
                                        )
                                      ]
                                      spids: [15209]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:lastarg)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [15213]
                                        )
                                      ]
                                      spids: [15213]
                                    )
                                    (Sentence
                                      child: 
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:save_ifs)
                                              op: Equal
                                              rhs: {($ VSub_Name '$IFS')}
                                              spids: [15216]
                                            )
                                          ]
                                          spids: [15216]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {(Lit_Comma ',')}
                                          spids: [15220]
                                        )
                                      ]
                                      spids: [15220]
                                    )
                                    (ForEach
                                      iter_name: arg
                                      iter_words: [{($ VSub_Name '$args')}]
                                      do_arg_iter: F
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:IFS)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$save_ifs')}
                                                  spids: [15236]
                                                )
                                              ]
                                              spids: [15236]
                                            )
                                            (C {(func_append_quoted)} {(lastarg)} 
                                              {(DQ ($ VSub_Name '$arg'))}
                                            )
                                          ]
                                          spids: [15233 15249]
                                        )
                                      spids: [15229 15231]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {($ VSub_Name '$save_ifs')}
                                          spids: [15252]
                                        )
                                      ]
                                      spids: [15252]
                                    )
                                    (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: [15270]
                                        )
                                      ]
                                      spids: [15270]
                                    )
                                    (C {(func_append)} {(base_compile)} 
                                      {(DQ (' ') ($ VSub_Name '$lastarg'))}
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [15189 15192 15292 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:lastarg)
                                          op: Equal
                                          rhs: {($ VSub_Name '$srcfile')}
                                          spids: [15312]
                                        )
                                      ]
                                      spids: [15312]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:srcfile)
                                          op: Equal
                                          rhs: {($ VSub_Name '$arg')}
                                          spids: [15316]
                                        )
                                      ]
                                      spids: [15316]
                                    )
                                  ]
                                  spids: [15296 15297 15320 16777215]
                                )
                              ]
                              spids: [15047 15051 15323]
                            )
                          ]
                          spids: [15038 15040 15329 16777215]
                        )
                      ]
                      spids: [14990 14994 15332]
                    )
                    (C {(func_append_quoted)} {(base_compile)} {(DQ ($ VSub_Name '$lastarg'))})
                  ]
                  spids: [14987 15352]
                )
              spids: [16777215 16777215]
            )
            (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: [15366 15367 15377 16777215]
                )
                (case_arm
                  pat_list: [{(target)}]
                  action: [(C {(func_fatal_error)} {(DQ ("you must specify a target with '-o'"))})]
                  spids: [15380 15381 15391 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (AndOr
                      ops: [Op_DAmp]
                      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: {($ VSub_Name '$func_basename_result')}
                                  spids: [15422]
                                )
                              ]
                              spids: [15422]
                            )
                          ]
                          spids: [15412]
                        )
                      ]
                    )
                  ]
                  spids: [15394 15395 15429 16777215]
                )
              ]
              spids: [15359 15363 15432]
            )
            (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 '*') (.go)}
                    {(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: [15571]
                        )
                      ]
                      spids: [15571]
                    )
                  ]
                  spids: [15451 15561 15575 16777215]
                )
              ]
              spids: [15444 15448 15578]
            )
            (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: [15600]
                        )
                      ]
                      spids: [15600]
                    )
                  ]
                  spids: [15589 15591 15603 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (C {(func_fatal_error)} 
                      {
                        (DQ ("cannot determine name of library object from '") ($ VSub_Name '$libobj') 
                          ("'")
                        )
                      }
                    )
                  ]
                  spids: [15606 15607 15619 16777215]
                )
              ]
              spids: [15582 15586 15622]
            )
            (C {(func_infer_tag)} {($ VSub_Name '$base_compile')})
            (ForEach
              iter_name: arg
              iter_words: [{($ VSub_Name '$later')}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name '$arg')}
                      arms: [
                        (case_arm
                          pat_list: [{(-shared)}]
                          action: [
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(test)} {(yes)} {(Lit_Other '=')} 
                                  {(DQ ($ VSub_Name '$build_libtool_libs'))}
                                )
                                (C {(func_fatal_configuration)} {(DQ ('cannot build a shared library'))})
                              ]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_old_libs)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [15676]
                                )
                              ]
                              spids: [15676]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [15651 15652 15683 16777215]
                        )
                        (case_arm
                          pat_list: [{(-static)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_libtool_libs)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [15691]
                                )
                              ]
                              spids: [15691]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_old_libs)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [15695]
                                )
                              ]
                              spids: [15695]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [15687 15688 15702 16777215]
                        )
                        (case_arm
                          pat_list: [{(-prefer-pic)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:pic_mode)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [15710]
                                )
                              ]
                              spids: [15710]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [15706 15707 15717 16777215]
                        )
                        (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: [15725]
                                )
                              ]
                              spids: [15725]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [15721 15722 15732 16777215]
                        )
                      ]
                      spids: [15644 15648 15735]
                    )
                  ]
                  spids: [15641 15738]
                )
              spids: [15637 15639]
            )
            (C {(func_quote_for_eval)} {(DQ ($ VSub_Name '$libobj'))})
            (AndOr
              ops: [Op_DAmp Op_DAmp]
              children: [
                (C {(test)} {(DQ (X) ($ VSub_Name '$libobj'))} {(KW_Bang '!') (Lit_Other '=')} 
                  {(DQ (X) ($ VSub_Name '$func_quote_for_eval_result'))}
                )
                (Pipeline
                  children: [
                    (C {($ VSub_Name '$ECHO')} {(DQ (X) ($ VSub_Name '$libobj'))})
                    (C {($ VSub_Name '$GREP')} {(SQ <'[]~#^*{};<>?"'>) (DQ ("'")) (SQ <'\t &()|`$[]'>)})
                  ]
                  negated: F
                )
                (C {(func_warning)} 
                  {
                    (DQ ("libobj name '") ($ VSub_Name '$libobj') 
                      ("' may not contain shell special characters.")
                    )
                  }
                )
              ]
            )
            (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: {($ VSub_Name '$func_basename_result')}
                  spids: [15816]
                )
              ]
              spids: [15816]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:xdir)
                  op: Equal
                  rhs: {($ VSub_Name '$func_dirname_result')}
                  spids: [15820]
                )
              ]
              spids: [15820]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:lobj)
                  op: Equal
                  rhs: {($ VSub_Name '$xdir') ($ VSub_Name '$objdir') (/) ($ VSub_Name '$objname')}
                  spids: [15824]
                )
              ]
              spids: [15824]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(test)} {(-z)} {(DQ ($ VSub_Name '$base_compile'))})
                (C {(func_fatal_help)} {(DQ ('you must specify a compilation command'))})
              ]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(yes)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$build_old_libs'))})
                      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: [15872]
                        )
                      ]
                      spids: [15872]
                    )
                  ]
                  spids: [16777215 15869]
                )
              ]
              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: [15890]
                    )
                  ]
                  spids: [15890]
                )
              ]
              spids: [15887 15903]
            )
            (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: [15943]
                        )
                      ]
                      spids: [15943]
                    )
                  ]
                  spids: [15918 15940 15947 16777215]
                )
              ]
              spids: [15911 15915 15950]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (C {(test)} {(no)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$pic_mode'))})
                            (C {(test)} {(pass_all)} {(KW_Bang '!') (Lit_Other '=')} 
                              {(DQ ($ VSub_Name '$deplibs_check_method'))}
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:pic_mode)
                          op: Equal
                          rhs: {(default)}
                          spids: [15986]
                        )
                      ]
                      spids: [15986]
                    )
                  ]
                  spids: [16777215 15979]
                )
              ]
              spids: [16777215 15990]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(no)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$compiler_c_o'))})
                      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: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [16019 16033]
                              ) (.) ($ VSub_Name '$objext')
                            }
                          spids: [16018]
                        )
                      ]
                      spids: [16018]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:lockfile)
                          op: Equal
                          rhs: {($ VSub_Name '$output_obj') (.lock)}
                          spids: [16038]
                        )
                      ]
                      spids: [16038]
                    )
                  ]
                  spids: [16777215 16015]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:output_obj)
                      op: Equal
                      rhs: {(EmptyPart)}
                      spids: [16046]
                    )
                  ]
                  spids: [16046]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:need_locks)
                      op: Equal
                      rhs: {(no)}
                      spids: [16049]
                    )
                  ]
                  spids: [16049]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:lockfile)
                      op: Equal
                      rhs: {(EmptyPart)}
                      spids: [16053]
                    )
                  ]
                  spids: [16053]
                )
              ]
              spids: [16043 16056]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(yes)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$need_locks'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (WhileUntil
                      keyword: <KW_Until until>
                      cond: [
                        (Sentence
                          child: 
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {($ VSub_Name '$opt_dry_run')})
                                (SimpleCommand
                                  words: [
                                    {(ln)}
                                    {(DQ ($ VSub_Name '$progpath'))}
                                    {(DQ ($ VSub_Name '$lockfile'))}
                                  ]
                                  redirects: [(Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})]
                                )
                              ]
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      body: 
                        (DoGroup
                          children: [
                            (C {(func_echo)} 
                              {(DQ ('Waiting for ') ($ VSub_Name '$lockfile') (' to be removed'))}
                            )
                            (C {(sleep)} {(2)})
                          ]
                          spids: [16104 16121]
                        )
                    )
                  ]
                  spids: [16777215 16081]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(warn)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$need_locks'))})
                      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: <Redir_Great '2>'>
                                                fd: 2
                                                arg_word: {(/dev/null)}
                                              )
                                            ]
                                          )
                                        ]
                                      )
                                    left_token: <Left_Backtick '`'>
                                    spids: [16161 16168]
                                  ) ('\n') ('\n') ('This indicates that another process is trying to use the same\n') 
                                  (
'temporary object file, and libtool could not work around it because\n'
                                  ) ("your compiler does not support '-c' and '-o' together.  If you\n") 
                                  (
'repeat this compilation, it may succeed, by chance, but you had better\n'
                                  ) ('avoid parallel builds (make -j) in this platform, or get a better\n') (compiler.)
                                )
                              }
                            )
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {($ VSub_Name '$opt_dry_run')})
                                (C {($ VSub_Name '$RM')} {($ VSub_Name '$removelist')})
                              ]
                            )
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {($ VSub_Name '$EXIT_FAILURE')}
                            )
                          ]
                          spids: [16777215 16151]
                        )
                      ]
                      spids: [16777215 16195]
                    )
                    (C {(func_append)} {(removelist)} {(DQ (' ') ($ VSub_Name '$output_obj'))})
                    (SimpleCommand
                      words: [{($ VSub_Name '$ECHO')} {(DQ ($ VSub_Name '$srcfile'))}]
                      redirects: [
                        (Redir
                          op: <Redir_Great '>'>
                          fd: 16777215
                          arg_word: {(DQ ($ VSub_Name '$lockfile'))}
                        )
                      ]
                    )
                  ]
                  spids: [16124 16137]
                )
              ]
              spids: [16777215 16221]
            )
            (AndOr
              ops: [Op_DPipe]
              children: [
                (C {($ VSub_Name '$opt_dry_run')})
                (C {($ VSub_Name '$RM')} {($ VSub_Name '$removelist')})
              ]
            )
            (C {(func_append)} {(removelist)} {(DQ (' ') ($ VSub_Name '$lockfile'))})
            (C {(trap)} {(SQ <'$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'>)} {(1)} {(2)} {(15)})
            (C {(func_to_tool_file)} {(DQ ($ VSub_Name '$srcfile'))} {(func_convert_file_msys_to_w32)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:srcfile)
                  op: Equal
                  rhs: {($ VSub_Name '$func_to_tool_file_result')}
                  spids: [16267]
                )
              ]
              spids: [16267]
            )
            (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: [16278]
                )
              ]
              spids: [16278]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(yes)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$build_libtool_libs'))})
                      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: [16307]
                        )
                      ]
                      spids: [16307]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(no)} {(KW_Bang '!') (Lit_Other '=')} 
                                  {(DQ ($ VSub_Name '$pic_mode'))}
                                )
                              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: [16329]
                                )
                              ]
                              spids: [16329]
                            )
                          ]
                          spids: [16777215 16326]
                        )
                      ]
                      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: [16346]
                            )
                          ]
                          spids: [16346]
                        )
                      ]
                      spids: [16339 16354]
                    )
                    (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: [(C {(func_append)} {(command)} {(DQ (' -o ') ($ VSub_Name '$lobj'))})]
                          spids: [16777215 16378]
                        )
                      ]
                      spids: [16777215 16395]
                    )
                    (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
                                  ops: [Op_DAmp]
                                  children: [
                                    (C {(test)} {(warn)} {(Lit_Other '=')} 
                                      {(DQ ($ VSub_Name '$need_locks'))}
                                    )
                                    (C {(test)} 
                                      {
                                        (DQ (X) 
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (SimpleCommand
                                                    words: [{(cat)} {($ VSub_Name '$lockfile')}]
                                                    redirects: [
                                                      (Redir
                                                        op: <Redir_Great '2>'>
                                                        fd: 2
                                                        arg_word: {(/dev/null)}
                                                      )
                                                    ]
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [16432 16439]
                                          )
                                        )
                                      } {(KW_Bang '!') (Lit_Other '=')} {(DQ (X) ($ VSub_Name '$srcfile'))}
                                    )
                                  ]
                                )
                              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: <Redir_Great '2>'>
                                                fd: 2
                                                arg_word: {(/dev/null)}
                                              )
                                            ]
                                          )
                                        ]
                                      )
                                    left_token: <Left_Backtick '`'>
                                    spids: [16461 16468]
                                  ) ('\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 '-c' and '-o' together.  If you\n"
                                  ) ('repeat this compilation, it may succeed, by chance, but you had better\n') 
                                  (
'avoid parallel builds (make -j) in this platform, or get a better\n'
                                  ) (compiler.)
                                )
                              }
                            )
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {($ VSub_Name '$opt_dry_run')})
                                (C {($ VSub_Name '$RM')} {($ VSub_Name '$removelist')})
                              ]
                            )
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {($ VSub_Name '$EXIT_FAILURE')}
                            )
                          ]
                          spids: [16777215 16451]
                        )
                      ]
                      spids: [16777215 16499]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  ops: [Op_DAmp]
                                  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'))}
                                    )
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(func_show_eval)} {(SQ <'$MV "$output_obj" "$lobj"'>)} 
                              {(SQ <'error=$?; $opt_dry_run || $RM $removelist; exit $error'>)}
                            )
                          ]
                          spids: [16777215 16535]
                        )
                      ]
                      spids: [16777215 16551]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(yes)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$suppress_opt'))})
                              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: [16575]
                                )
                              ]
                              spids: [16575]
                            )
                          ]
                          spids: [16777215 16572]
                        )
                      ]
                      spids: [16777215 16581]
                    )
                  ]
                  spids: [16777215 16300]
                )
              ]
              spids: [16777215 16584]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(yes)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$build_old_libs'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(yes)} {(KW_Bang '!') (Lit_Other '=')} 
                                  {(DQ ($ VSub_Name '$pic_mode'))}
                                )
                              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: [16629]
                                )
                              ]
                              spids: [16629]
                            )
                          ]
                          spids: [16777215 16622]
                        )
                      ]
                      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: [16641]
                            )
                          ]
                          spids: [16641]
                        )
                      ]
                      spids: [16638 16651]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(yes)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$compiler_c_o'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(func_append)} {(command)} {(DQ (' -o ') ($ VSub_Name '$obj'))})]
                          spids: [16777215 16667]
                        )
                      ]
                      spids: [16777215 16680]
                    )
                    (C {(func_append)} {(command)} {(DQ ($ VSub_Name '$suppress_output'))})
                    (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
                                  ops: [Op_DAmp]
                                  children: [
                                    (C {(test)} {(warn)} {(Lit_Other '=')} 
                                      {(DQ ($ VSub_Name '$need_locks'))}
                                    )
                                    (C {(test)} 
                                      {
                                        (DQ (X) 
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (SimpleCommand
                                                    words: [{(cat)} {($ VSub_Name '$lockfile')}]
                                                    redirects: [
                                                      (Redir
                                                        op: <Redir_Great '2>'>
                                                        fd: 2
                                                        arg_word: {(/dev/null)}
                                                      )
                                                    ]
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [16730 16737]
                                          )
                                        )
                                      } {(KW_Bang '!') (Lit_Other '=')} {(DQ (X) ($ VSub_Name '$srcfile'))}
                                    )
                                  ]
                                )
                              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: <Redir_Great '2>'>
                                                fd: 2
                                                arg_word: {(/dev/null)}
                                              )
                                            ]
                                          )
                                        ]
                                      )
                                    left_token: <Left_Backtick '`'>
                                    spids: [16759 16766]
                                  ) ('\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 '-c' and '-o' together.  If you\n"
                                  ) ('repeat this compilation, it may succeed, by chance, but you had better\n') 
                                  (
'avoid parallel builds (make -j) in this platform, or get a better\n'
                                  ) (compiler.)
                                )
                              }
                            )
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {($ VSub_Name '$opt_dry_run')})
                                (C {($ VSub_Name '$RM')} {($ VSub_Name '$removelist')})
                              ]
                            )
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {($ VSub_Name '$EXIT_FAILURE')}
                            )
                          ]
                          spids: [16777215 16749]
                        )
                      ]
                      spids: [16777215 16797]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  ops: [Op_DAmp]
                                  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'))}
                                    )
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(func_show_eval)} {(SQ <'$MV "$output_obj" "$obj"'>)} 
                              {(SQ <'error=$?; $opt_dry_run || $RM $removelist; exit $error'>)}
                            )
                          ]
                          spids: [16777215 16833]
                        )
                      ]
                      spids: [16777215 16849]
                    )
                  ]
                  spids: [16777215 16605]
                )
              ]
              spids: [16777215 16852]
            )
            (AndOr
              ops: [Op_DPipe]
              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)} {(no)} {(KW_Bang '!') (Lit_Other '=')} 
                                  {(DQ ($ VSub_Name '$need_locks'))}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:removelist)
                                  op: Equal
                                  rhs: {($ VSub_Name '$lockfile')}
                                  spids: [16902]
                                )
                              ]
                              spids: [16902]
                            )
                            (C {($ VSub_Name '$RM')} {(DQ ($ VSub_Name '$lockfile'))})
                          ]
                          spids: [16777215 16899]
                        )
                      ]
                      spids: [16777215 16913]
                    )
                  ]
                  spids: [16860]
                )
              ]
            )
            (ControlFlow
              token: <ControlFlow_Exit exit>
              arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
            )
          ]
          spids: [14940]
        )
      spids: [14935 14939]
    )
    (AndOr
      ops: [Op_DPipe]
      children: [
        (C {($ VSub_Name '$opt_help')})
        (BraceGroup
          children: [
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(test)} {(compile)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$opt_mode'))})
                (C {(func_mode_compile)} 
                  {
                    (BracedVarSub
                      token: <VSub_Number 1>
                      suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                      spids: [16948 16954]
                    )
                  }
                )
              ]
            )
          ]
          spids: [16931]
        )
      ]
    )
    (FuncDef
      name: func_mode_help
      body: 
        (BraceGroup
          children: [
            (Case
              to_match: {($ VSub_Name '$opt_mode')}
              arms: [
                (case_arm
                  pat_list: [{(DQ )}]
                  action: [(C {(func_help)})]
                  spids: [16978 16980 16994 16777215]
                )
                (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 '/bin/rm').  RM-OPTIONS are options (such as '-f') to be passed\n") ('to RM.\n') ('\n') 
                          (
'If FILE is a libtool library, object or program, all the files associated\n'
                          ) ('with it are deleted. Otherwise, only FILE itself is deleted using RM.')
                        )
                      }
                    )
                  ]
                  spids: [16998 16999 17021 16777215]
                )
                (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 build PIC objects only\n') 
                          ('  -prefer-non-pic   try to build non-PIC objects only\n') ("  -shared           do not build a '.o' file suitable for static linking\n") 
                          (
"  -static           only build a '.o' file suitable for static linking\n"
                          ) ('  -Wc,FLAG          pass FLAG directly to the compiler\n') ('\n') 
                          (
"COMPILE-COMMAND is a command to be used in creating a 'standard' object file\n"
                          ) ('from the given SOURCEFILE.\n') ('\n') 
                          (
'The output file name is determined by removing the directory component from\n'
                          ) ("SOURCEFILE, then substituting the C source code suffix '.c' with the\n") 
                          ("library object suffix, '.lo'.")
                        )
                      }
                    )
                  ]
                  spids: [17025 17026 17058 16777215]
                )
                (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 '-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: [17062 17063 17091 16777215]
                )
                (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 '--dry-run' option if you just want to see what would be executed."
                          )
                        )
                      }
                    )
                  ]
                  spids: [17095 17096 17116 16777215]
                )
                (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 'install' or 'cp' program.\n") ('\n') 
                          ('The following components of INSTALL-COMMAND are treated specially:\n') ('\n') ('  -inst-prefix-dir PREFIX-DIR  Use PREFIX-DIR as a staging area for installation\n') ('\n') 
                          (
'The rest of the components are interpreted as arguments to that command (only\n'
                          ) ('BSD-compatible install options are recognized).')
                        )
                      }
                    )
                  ]
                  spids: [17120 17121 17146 16777215]
                )
                (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      '-dlpreopen' FILE if it cannot be dlopened at runtime\n"
                          ) ('  -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols\n') 
                          (
'  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)\n'
                          ) ('  -export-symbols SYMFILE\n') 
                          (
'                    try to export only the symbols listed in SYMFILE\n'
                          ) ('  -export-symbols-regex REGEX\n') 
                          ('                    try to export only the symbols matching REGEX\n') ('  -LLIBDIR          search LIBDIR for required installed libraries\n') 
                          (
'  -lNAME            OUTPUT-FILE requires the installed library libNAME\n'
                          ) ('  -module           build a library that can dlopened\n') 
                          ('  -no-fast-install  disable the fast-install mode\n') ('  -no-install       link a not-installable executable\n') 
                          (
'  -no-undefined     declare that a library does not refer to external symbols\n'
                          ) ('  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects\n') 
                          (
'  -objectlist FILE  use a list of object files found in FILE to specify objects\n'
                          ) ('  -os2dllname NAME  force a short DLL name on OS/2 (no effect on other OSes)\n') 
                          ('  -precious-files-regex REGEX\n') ("                    don't remove output files matching REGEX\n") 
                          ('  -release RELEASE  specify package release information\n') ('  -rpath LIBDIR     the created library will eventually be installed in LIBDIR\n') 
                          (
'  -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries\n'
                          ) ('  -shared           only do dynamic linking of libtool libraries\n') 
                          (
'  -shrext SUFFIX    override the standard shared library file extension\n'
                          ) ('  -static           do not do any dynamic linking of uninstalled libtool libraries\n') 
                          ('  -static-libtool-libs\n') ('                    do not do any dynamic linking of libtool libraries\n') 
                          ('  -version-info CURRENT[:REVISION[:AGE]]\n') ('                    specify library version info [each variable defaults to 0]\n') 
                          (
'  -weak LIBNAME     declare that the target provides the LIBNAME interface\n'
                          ) ('  -Wc,FLAG\n') ('  -Xcompiler FLAG   pass linker-specific FLAG directly to the compiler\n') 
                          ('  -Wl,FLAG\n') ('  -Xlinker FLAG     pass linker-specific FLAG directly to the linker\n') 
                          (
'  -XCClinker FLAG   pass link-specific FLAG to the compiler driver (CC)\n'
                          ) ('\n') ("All other options (arguments beginning with '-') are ignored.\n") ('\n') 
                          (
"Every other argument is treated as a filename.  Files ending in '.la' are\n"
                          ) ('treated as uninstalled libtool libraries, other files are standard or library\n') 
                          ('object files.\n') ('\n') ("If the OUTPUT-FILE ends in '.la', then a libtool library is created,\n") 
                          (
"only library objects ('.lo' files) may be specified, and '-rpath' is\n"
                          ) ('required, except when creating a convenience library.\n') ('\n') 
                          (
"If OUTPUT-FILE ends in '.a' or '.lib', then a standard library is created\n"
                          ) ("using 'ar' and 'ranlib', or on Windows using 'lib'.\n") ('\n') ("If OUTPUT-FILE ends in '.lo' or '.") 
                          ($ VSub_Name '$objext') ("', then a reloadable object file\n") ('is created, otherwise an executable program is created.')
                        )
                      }
                    )
                  ]
                  spids: [17150 17151 17229 16777215]
                )
                (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 '/bin/rm').  RM-OPTIONS are options (such as '-f') to be passed\n") ('to RM.\n') ('\n') 
                          (
'If FILE is a libtool library, all the files associated with it are deleted.\n'
                          ) ('Otherwise, only FILE itself is deleted using RM.')
                        )
                      }
                    )
                  ]
                  spids: [17233 17234 17256 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (C {(func_fatal_help)} 
                      {(DQ ("invalid operation mode '") ($ VSub_Name '$opt_mode') ("'"))}
                    )
                  ]
                  spids: [17260 17261 17273 16777215]
                )
              ]
              spids: [16971 16975 17276]
            )
            (C {(echo)})
            (C {($ VSub_Name '$ECHO')} 
              {
                (DQ ("Try '") ($ VSub_Name '$progname') 
                  (" --help' for more information about other modes.")
                )
              }
            )
          ]
          spids: [16964]
        )
      spids: [16959 16963]
    )
    (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)} {(Lit_Other ':')} {(Lit_Other '=')} {(DQ ($ VSub_Name '$opt_help'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(func_mode_help)})]
                  spids: [16777215 17318]
                )
              ]
              else_action: [
                (Pipeline
                  children: [
                    (BraceGroup
                      children: [
                        (C {(func_help)} {(noexit)})
                        (ForEach
                          iter_name: opt_mode
                          iter_words: [
                            {(compile)}
                            {(link)}
                            {(execute)}
                            {(install)}
                            {(finish)}
                            {(uninstall)}
                            {(clean)}
                          ]
                          do_arg_iter: F
                          body: (DoGroup children:[(C {(func_mode_help)})] spids:[17356 17362])
                          spids: [17340 17354]
                        )
                      ]
                      spids: [17327]
                    )
                    (C {($ VSub_Name '$SED')} {(-n)} {(SQ <'1p; 2,$s/^Usage:/  or: /p'>)})
                  ]
                  negated: F
                )
                (Pipeline
                  children: [
                    (BraceGroup
                      children: [
                        (C {(func_help)} {(noexit)})
                        (ForEach
                          iter_name: opt_mode
                          iter_words: [
                            {(compile)}
                            {(link)}
                            {(execute)}
                            {(install)}
                            {(finish)}
                            {(uninstall)}
                            {(clean)}
                          ]
                          do_arg_iter: F
                          body: 
                            (DoGroup
                              children: [(C {(echo)}) (C {(func_mode_help)})]
                              spids: [17407 17416]
                            )
                          spids: [17391 17405]
                        )
                      ]
                      spids: [17378]
                    )
                    (C {($ VSub_Name '$SED')} 
                      {
                        (SQ <'1d\n'> <'      /^When reporting/,/^Report/{\n'> <'\tH\n'> <'\td\n'> 
                          <'      }\n'> <'      $x\n'> <'      /information about other modes/d\n'> <'      /more detailed .*MODE/d\n'> 
                          <'      s/^Usage:.*--mode=\\([^ ]*\\) .*/Description of \\1 mode:/'>
                        )
                      }
                    )
                  ]
                  negated: F
                )
              ]
              spids: [17324 17439]
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{($ VSub_QMark '$?')})
          ]
          spids: [16777215 17302]
        )
      ]
      spids: [16777215 17446]
    )
    (FuncDef
      name: func_mode_execute
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:cmd)
                  op: Equal
                  rhs: {($ VSub_Name '$nonopt')}
                  spids: [17469]
                )
              ]
              spids: [17469]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(test)} {(-z)} {(DQ ($ VSub_Name '$cmd'))})
                (C {(func_fatal_help)} {(DQ ('you must specify a COMMAND'))})
              ]
            )
            (ForEach
              iter_name: file
              iter_words: [{($ VSub_Name '$opt_dlopen')}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (AndOr
                      ops: [Op_DPipe]
                      children: [
                        (C {(test)} {(-f)} {(DQ ($ VSub_Name '$file'))})
                        (C {(func_fatal_help)} {(DQ ("'") ($ VSub_Name '$file') ("' is not a file"))})
                      ]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dir)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [17531]
                        )
                      ]
                      spids: [17531]
                    )
                    (Case
                      to_match: {($ VSub_Name '$file')}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.la)}]
                          action: [
                            (C {(func_resolve_sysroot)} {(DQ ($ VSub_Name '$file'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:file)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_resolve_sysroot_result')}
                                  spids: [17553]
                                )
                              ]
                              spids: [17553]
                            )
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(func_lalib_unsafe_p)} {(DQ ($ VSub_Name '$file'))})
                                (C {(func_fatal_help)} 
                                  {
                                    (DQ ("'") ($ VSub_Name '$lib') ("' is not a valid libtool archive"))
                                  }
                                )
                              ]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dlname)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [17586]
                                )
                              ]
                              spids: [17586]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:library_names)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [17589]
                                )
                              ]
                              spids: [17589]
                            )
                            (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
                                      ops: [Op_DAmp]
                                      children: [
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$library_names'))})
                                        (C {(func_warning)} 
                                          {
                                            (DQ ("'") ($ VSub_Name '$file') 
                                              ("' was not linked with '-export-dynamic'")
                                            )
                                          }
                                        )
                                      ]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [16777215 17615]
                                )
                              ]
                              spids: [16777215 17646]
                            )
                            (C {(func_dirname)} {(DQ ($ VSub_Name '$file'))} {(DQ )} {(DQ (.))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dir)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_dirname_result')}
                                  spids: [17664]
                                )
                              ]
                              spids: [17664]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-f)} 
                                          {
                                            (DQ ($ VSub_Name '$dir') (/) ($ VSub_Name '$objdir') (/) 
                                              ($ VSub_Name '$dlname')
                                            )
                                          }
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_append)} {(dir)} {(DQ (/) ($ VSub_Name '$objdir'))})
                                  ]
                                  spids: [16777215 17684]
                                )
                              ]
                              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 '") ($ VSub_Name '$dlname') ("' in '") 
                                              ($ VSub_Name '$dir') ("' or '") ($ VSub_Name '$dir') (/) ($ VSub_Name '$objdir') ("'")
                                            )
                                          }
                                        )
                                      ]
                                      spids: [16777215 17715]
                                    )
                                  ]
                                  spids: [16777215 17733]
                                )
                              ]
                              spids: [17697 17736]
                            )
                          ]
                          spids: [17541 17543 17739 16777215]
                        )
                        (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: {($ VSub_Name '$func_dirname_result')}
                                  spids: [17766]
                                )
                              ]
                              spids: [17766]
                            )
                          ]
                          spids: [17743 17745 17770 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (C {(func_warning)} 
                              {(DQ ("'-dlopen' is ignored for non-libtool libraries and objects"))}
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [17774 17775 17788 16777215]
                        )
                      ]
                      spids: [17534 17538 17791]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:absdir)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (AndOr
                                        ops: [Op_DAmp]
                                        children: [(C {(cd)} {(DQ ($ VSub_Name '$dir'))}) (C {(pwd)})]
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [17800 17810]
                              )
                            }
                          spids: [17799]
                        )
                      ]
                      spids: [17799]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$absdir'))})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:dir)
                              op: Equal
                              rhs: {($ VSub_Name '$absdir')}
                              spids: [17823]
                            )
                          ]
                          spids: [17823]
                        )
                      ]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(eval)} 
                                  {
                                    (DQ ('test -z ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar '\\$'>
                                      ) ($ VSub_Name '$shlibpath_var') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                    )
                                  }
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(eval)} 
                              {
                                (DQ ($ VSub_Name '$shlibpath_var') ('=') 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar '\\"'>
                                  ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (dir) 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar '\\"'>
                                  )
                                )
                              }
                            )
                          ]
                          spids: [16777215 17845]
                        )
                      ]
                      else_action: [
                        (C {(eval)} 
                          {
                            (DQ ($ VSub_Name '$shlibpath_var') ('=') 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar '\\"'>
                              ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('dir:') 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar '\\$'>
                              ) ($ VSub_Name '$shlibpath_var') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                            )
                          }
                        )
                      ]
                      spids: [17860 17877]
                    )
                  ]
                  spids: [17506 17880]
                )
              spids: [17502 17504]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libtool_execute_magic)
                  op: Equal
                  rhs: {($ VSub_Name '$magic')}
                  spids: [17892]
                )
              ]
              spids: [17892]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:args) op:Equal rhs:{(EmptyPart)} spids:[17901])]
              spids: [17901]
            )
            (ForEach
              iter_name: file
              do_arg_iter: T
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name '$file')}
                      arms: [
                        (case_arm
                          pat_list: [
                            {(-) (Lit_Other '*')}
                            {(Lit_Other '*') (.la)}
                            {(Lit_Other '*') (.lo)}
                          ]
                          spids: [17919 17932 17934 16777215]
                        )
                        (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: {($ VSub_Name '$progdir') (/) ($ VSub_Name '$program')}
                                          spids: [17968]
                                        )
                                      ]
                                      spids: [17968]
                                    )
                                  ]
                                  spids: [16777215 17954]
                                )
                                (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: {($ VSub_Name '$progdir') (/) ($ VSub_Name '$program')}
                                          spids: [18004]
                                        )
                                      ]
                                      spids: [18004]
                                    )
                                  ]
                                  spids: [17974 17983]
                                )
                              ]
                              spids: [16777215 18010]
                            )
                          ]
                          spids: [17937 17938 18013 16777215]
                        )
                      ]
                      spids: [17912 17916 18016]
                    )
                    (C {(func_append_quoted)} {(args)} {(DQ ($ VSub_Name '$file'))})
                  ]
                  spids: [17909 18032]
                )
              spids: [16777215 16777215]
            )
            (If
              arms: [
                (if_arm
                  cond: [(Sentence child:(C {($ VSub_Name '$opt_dry_run')}) 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 (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: [16777215 18059]
                        )
                      ]
                      spids: [16777215 18084]
                    )
                    (C {($ VSub_Name '$ECHO')} {(DQ ($ VSub_Name '$cmd') ($ VSub_Name '$args'))})
                    (ControlFlow
                      token: <ControlFlow_Exit exit>
                      arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
                    )
                  ]
                  spids: [16777215 18041]
                )
              ]
              else_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: [16777215 18114]
                    )
                  ]
                  spids: [16777215 18129]
                )
                (ForEach
                  iter_name: lt_var
                  iter_words: [{(LANG)} {(LANGUAGE)} {(LC_ALL)} {(LC_CTYPE)} {(LC_COLLATE)} {(LC_MESSAGES)}]
                  do_arg_iter: F
                  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: [18156 18189]
                    )
                  spids: [18142 16777215]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:exec_cmd)
                      op: Equal
                      rhs: 
                        {(EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (cmd) 
                          ($ VSub_Name '$args')
                        }
                      spids: [18197]
                    )
                  ]
                  spids: [18197]
                )
              ]
              spids: [18100 18203]
            )
          ]
          spids: [17458]
        )
      spids: [17453 17457]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (C {(test)} {(execute)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$opt_mode'))})
        (C {(func_mode_execute)} 
          {
            (BracedVarSub
              token: <VSub_Number 1>
              suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
              spids: [18222 18228]
            )
          }
        )
      ]
    )
    (FuncDef
      name: func_mode_finish
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:libs) op:Equal rhs:{(EmptyPart)} spids:[18247])]
              spids: [18247]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libdirs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [18250]
                )
              ]
              spids: [18250]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:admincmds)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [18253]
                )
              ]
              spids: [18253]
            )
            (ForEach
              iter_name: opt
              iter_words: [
                {(DQ ($ VSub_Name '$nonopt'))}
                {
                  (BracedVarSub
                    token: <VSub_Number 1>
                    suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                    spids: [18267 18273]
                  )
                }
              ]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-d)} {(DQ ($ VSub_Name '$opt'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(func_append)} {(libdirs)} {(DQ (' ') ($ VSub_Name '$opt'))})]
                          spids: [16777215 18290]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-f)} {(DQ ($ VSub_Name '$opt'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(func_lalib_unsafe_p)} {(DQ ($ VSub_Name '$opt'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_append)} {(libs)} {(DQ (' ') ($ VSub_Name '$opt'))})
                                  ]
                                  spids: [16777215 18327]
                                )
                              ]
                              else_action: [
                                (C {(func_warning)} 
                                  {
                                    (DQ ("'") ($ VSub_Name '$opt') ("' is not a valid libtool archive"))
                                  }
                                )
                              ]
                              spids: [18340 18352]
                            )
                          ]
                          spids: [18304 18315]
                        )
                      ]
                      else_action: [
                        (C {(func_fatal_error)} {(DQ ("invalid argument '") ($ VSub_Name '$opt') ("'"))})
                      ]
                      spids: [18356 18368]
                    )
                  ]
                  spids: [18276 18371]
                )
              spids: [18262 16777215]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$libs'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$lt_sysroot'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:sysroot_regex)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$ECHO')} 
                                                    {(DQ ($ VSub_Name '$lt_sysroot'))}
                                                  )
                                                  (C {($ VSub_Name '$SED')} 
                                                    {(DQ ($ VSub_Name '$sed_make_literal_regex'))}
                                                  )
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [18404 18418]
                                      )
                                    }
                                  spids: [18403]
                                )
                              ]
                              spids: [18403]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:sysroot_cmd)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ (s/) (Lit_Other '\\') ("([ ']") (Lit_Other '\\') (')') 
                                        ($ VSub_Name '$sysroot_regex') (/) (Lit_Other '\\') ('1/g;')
                                      )
                                    }
                                  spids: [18421]
                                )
                              ]
                              spids: [18421]
                            )
                          ]
                          spids: [16777215 18400]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:sysroot_cmd)
                              op: Equal
                              rhs: {(EmptyPart)}
                              spids: [18438]
                            )
                          ]
                          spids: [18438]
                        )
                      ]
                      spids: [18435 18441]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {($ VSub_Name '$opt_dry_run')})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (ForEach
                              iter_name: lib
                              iter_words: [{($ VSub_Name '$libs')}]
                              do_arg_iter: F
                              body: 
                                (DoGroup
                                  children: [
                                    (C {(echo)} 
                                      {
                                        (DQ ('removing references to ') ($ VSub_Name '$lt_sysroot') 
                                          (" and '=' prefixes from ") ($ VSub_Name '$lib')
                                        )
                                      }
                                    )
                                  ]
                                  spids: [18466 18479]
                                )
                              spids: [18462 18464]
                            )
                          ]
                          spids: [16777215 18454]
                        )
                      ]
                      else_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: [18486 18488]
                                  )
                                }
                              spids: [18485]
                            )
                          ]
                          spids: [18485]
                        )
                        (ForEach
                          iter_name: lib
                          iter_words: [{($ VSub_Name '$libs')}]
                          do_arg_iter: F
                          body: 
                            (DoGroup
                              children: [
                                (SimpleCommand
                                  words: [
                                    {($ VSub_Name '$SED')}
                                    {(-e)}
                                    {
                                      (DQ ($ VSub_Name '$sysroot_cmd') (' s/') (Lit_Other '\\') 
                                        ("([ ']-[LR]") (Lit_Other '\\') (')=/') (Lit_Other '\\') ('1/g; s/') (Lit_Other '\\') ("([ ']") (Lit_Other '\\') (')=/') 
                                        (Lit_Other '\\') (1/g)
                                      )
                                    }
                                    {($ VSub_Name '$lib')}
                                  ]
                                  redirects: [
                                    (Redir
                                      op: <Redir_Great '>'>
                                      fd: 16777215
                                      arg_word: {($ VSub_Name '$tmpdir') (/tmp-la)}
                                    )
                                  ]
                                )
                                (C {(mv)} {(-f)} {($ VSub_Name '$tmpdir') (/tmp-la)} 
                                  {($ VSub_Name '$lib')}
                                )
                              ]
                              spids: [18500 18544]
                            )
                          spids: [18496 18498]
                        )
                        (C {(${ VSub_Name RM) (r)} {(DQ ($ VSub_Name '$tmpdir'))})
                      ]
                      spids: [18482 18557]
                    )
                  ]
                  spids: [16777215 18386]
                )
              ]
              spids: [16777215 18560]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (C {(test)} {(-n)} 
                              {(DQ ($ VSub_Name '$finish_cmds') ($ VSub_Name '$finish_eval'))}
                            )
                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$libdirs'))})
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (ForEach
                      iter_name: libdir
                      iter_words: [{($ VSub_Name '$libdirs')}]
                      do_arg_iter: F
                      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: [16777215 18612]
                                )
                              ]
                              spids: [16777215 18636]
                            )
                            (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
                                      ops: [Op_DPipe Op_DPipe]
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (C {(eval)} {(DQ ($ VSub_Name '$cmds'))})
                                        (C {(func_append)} {(admincmds)} 
                                          {(DQ ('\n') ('       ') ($ VSub_Name '$cmds'))}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16777215 18650]
                                )
                              ]
                              spids: [16777215 18688]
                            )
                          ]
                          spids: [18598 18691]
                        )
                      spids: [18594 18596]
                    )
                  ]
                  spids: [16777215 18586]
                )
              ]
              spids: [16777215 18694]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {($ VSub_Name '$opt_quiet')})
                (ControlFlow
                  token: <ControlFlow_Exit exit>
                  arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
                )
              ]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (C {(test)} {(-n)} 
                              {(DQ ($ VSub_Name '$finish_cmds') ($ VSub_Name '$finish_eval'))}
                            )
                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$libdirs'))})
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} 
                      {(DQ (----------------------------------------------------------------------))}
                    )
                    (C {(echo)} {(DQ ('Libraries have been installed in:'))})
                    (ForEach
                      iter_name: libdir
                      iter_words: [{($ VSub_Name '$libdirs')}]
                      do_arg_iter: F
                      body: 
                        (DoGroup
                          children: [(C {($ VSub_Name '$ECHO')} {(DQ ('   ') ($ VSub_Name '$libdir'))})]
                          spids: [18760 18771]
                        )
                      spids: [18756 18758]
                    )
                    (C {(echo)})
                    (C {(echo)} 
                      {(DQ ('If you ever happen to want to link against installed libraries'))}
                    )
                    (C {(echo)} 
                      {(DQ ('in a given directory, LIBDIR, you must either use libtool, and'))}
                    )
                    (C {(echo)} 
                      {(DQ ("specify the full pathname of the library, or use the '-LLIBDIR'"))}
                    )
                    (C {(echo)} {(DQ ('flag during linking and do at least one of the following:'))})
                    (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 '") ($ VSub_Name '$shlibpath_var') 
                                  ("' environment variable")
                                )
                              }
                            )
                            (C {(echo)} {(DQ ('     during execution'))})
                          ]
                          spids: [16777215 18816]
                        )
                      ]
                      spids: [16777215 18835]
                    )
                    (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 '") ($ VSub_Name '$runpath_var') 
                                  ("' environment variable")
                                )
                              }
                            )
                            (C {(echo)} {(DQ ('     during linking'))})
                          ]
                          spids: [16777215 18849]
                        )
                      ]
                      spids: [16777215 18868]
                    )
                    (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: [18885]
                                )
                              ]
                              spids: [18885]
                            )
                            (C {(eval)} 
                              {(Lit_VarLike 'flag=') 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar '\\"'>
                                ) ($ VSub_Name '$hardcode_libdir_flag_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                              }
                            )
                            (C {($ VSub_Name '$ECHO')} 
                              {(DQ ("   - use the '") ($ VSub_Name '$flag') ("' linker flag"))}
                            )
                          ]
                          spids: [16777215 18882]
                        )
                      ]
                      spids: [16777215 18907]
                    )
                    (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: [16777215 18921]
                        )
                      ]
                      spids: [16777215 18932]
                    )
                    (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 '/etc/ld.so.conf'"
                                  )
                                )
                              }
                            )
                          ]
                          spids: [16777215 18944]
                        )
                      ]
                      spids: [16777215 18954]
                    )
                    (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: [18975 18984 19001 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (C {(echo)} 
                              {
                                (DQ 
                                  (
'more information, such as the ld(1) and ld.so(8) manual pages.'
                                  )
                                )
                              }
                            )
                          ]
                          spids: [19004 19005 19015 16777215]
                        )
                      ]
                      spids: [18968 18972 19018]
                    )
                    (C {(echo)} 
                      {(DQ (----------------------------------------------------------------------))}
                    )
                  ]
                  spids: [16777215 18734]
                )
              ]
              spids: [16777215 19028]
            )
            (ControlFlow
              token: <ControlFlow_Exit exit>
              arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
            )
          ]
          spids: [18240]
        )
      spids: [18235 18239]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (C {(test)} {(finish)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$opt_mode'))})
        (C {(func_mode_finish)} 
          {
            (BracedVarSub
              token: <VSub_Number 1>
              suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
              spids: [19052 19058]
            )
          }
        )
      ]
    )
    (FuncDef
      name: func_mode_install
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (If
              arms: [
                (if_arm
                  cond: [
                    (AndOr
                      ops: [Op_DPipe Op_DPipe]
                      children: [
                        (C {(test)} {(DQ ($ VSub_Name '$SHELL'))} {(Lit_Other '=')} 
                          {(DQ ($ VSub_Name '$nonopt'))}
                        )
                        (C {(test)} {(/bin/sh)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$nonopt'))})
                        (Case
                          to_match: {($ VSub_Name '$nonopt')}
                          arms: [
                            (case_arm
                              pat_list: [{(Lit_Other '*') (shtool) (Lit_Other '*')}]
                              action: [(C {(Lit_Other ':')})]
                              spids: [19124 19127 19130 16777215]
                            )
                            (case_arm
                              pat_list: [{(Lit_Other '*')}]
                              action: [(C {(false)})]
                              spids: [19132 19133 19136 16777215]
                            )
                          ]
                          spids: [19118 19122 19138]
                        )
                      ]
                    )
                  ]
                  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: [19155]
                        )
                      ]
                      spids: [19155]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:arg)
                          op: Equal
                          rhs: {($ VSub_Number '$1')}
                          spids: [19162]
                        )
                      ]
                      spids: [19162]
                    )
                    (C {(shift)})
                  ]
                  spids: [16777215 19141]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:install_prog)
                      op: Equal
                      rhs: {(EmptyPart)}
                      spids: [19172]
                    )
                  ]
                  spids: [19172]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:arg)
                      op: Equal
                      rhs: {($ VSub_Name '$nonopt')}
                      spids: [19175]
                    )
                  ]
                  spids: [19175]
                )
              ]
              spids: [19169 19179]
            )
            (C {(func_quote_for_eval)} {(DQ ($ VSub_Name '$arg'))})
            (C {(func_append)} {(install_prog)} {(DQ ($ VSub_Name '$func_quote_for_eval_result'))})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:install_shared_prog)
                  op: Equal
                  rhs: {($ VSub_Name '$install_prog')}
                  spids: [19207]
                )
              ]
              spids: [19207]
            )
            (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: [19233]
                        )
                      ]
                      spids: [19233]
                    )
                  ]
                  spids: [19222 19231 19236 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:install_cp)
                          op: Equal
                          rhs: {(false)}
                          spids: [19242]
                        )
                      ]
                      spids: [19242]
                    )
                  ]
                  spids: [19239 19240 19245 16777215]
                )
              ]
              spids: [19211 19219 19248]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:dest) op:Equal rhs:{(EmptyPart)} spids:[19256])]
              spids: [19256]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:files) op:Equal rhs:{(EmptyPart)} spids:[19259])]
              spids: [19259]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:opts) op:Equal rhs:{(EmptyPart)} spids:[19262])]
              spids: [19262]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:prev) op:Equal rhs:{(EmptyPart)} spids:[19265])]
              spids: [19265]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:install_type)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19268]
                )
              ]
              spids: [19268]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:isdir) op:Equal rhs:{(false)} spids:[19271])]
              spids: [19271]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:stripme)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19275]
                )
              ]
              spids: [19275]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:no_mode)
                  op: Equal
                  rhs: {(Lit_Other ':')}
                  spids: [19278]
                )
              ]
              spids: [19278]
            )
            (ForEach
              iter_name: arg
              do_arg_iter: T
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:arg2)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [19290]
                        )
                      ]
                      spids: [19290]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$dest'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(func_append)} {(files)} {(DQ (' ') ($ VSub_Name '$dest'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dest)
                                  op: Equal
                                  rhs: {($ VSub_Name '$arg')}
                                  spids: [19317]
                                )
                              ]
                              spids: [19317]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [16777215 19304]
                        )
                      ]
                      spids: [16777215 19324]
                    )
                    (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: {(Lit_Other ':')}
                                  spids: [19338]
                                )
                              ]
                              spids: [19338]
                            )
                          ]
                          spids: [19335 19336 19341 16777215]
                        )
                        (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: [16777215 19353]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:prev)
                                      op: Equal
                                      rhs: {($ VSub_Name '$arg')}
                                      spids: [19361]
                                    )
                                  ]
                                  spids: [19361]
                                )
                              ]
                              spids: [19358 19365]
                            )
                          ]
                          spids: [19344 19345 19368 16777215]
                        )
                        (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: [19383]
                                )
                              ]
                              spids: [19383]
                            )
                          ]
                          spids: [19371 19380 19387 16777215]
                        )
                        (case_arm
                          pat_list: [{(-s)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:stripme)
                                  op: Equal
                                  rhs: {(DQ (' -s'))}
                                  spids: [19394]
                                )
                              ]
                              spids: [19394]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [19390 19391 19403 16777215]
                        )
                        (case_arm
                          pat_list: [{(-) (Lit_Other '*')}]
                          spids: [19406 19408 19411 16777215]
                        )
                        (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
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(X-m)} {(Lit_Other '=')} 
                                                      {(DQ (X) ($ VSub_Name '$prev'))}
                                                    )
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$install_override_mode'))}
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:arg2)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$install_override_mode')}
                                                  spids: [19463]
                                                )
                                              ]
                                              spids: [19463]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:no_mode)
                                                  op: Equal
                                                  rhs: {(false)}
                                                  spids: [19467]
                                                )
                                              ]
                                              spids: [19467]
                                            )
                                          ]
                                          spids: [16777215 19460]
                                        )
                                      ]
                                      spids: [16777215 19471]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [19474]
                                        )
                                      ]
                                      spids: [19474]
                                    )
                                  ]
                                  spids: [16777215 19433]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:dest)
                                      op: Equal
                                      rhs: {($ VSub_Name '$arg')}
                                      spids: [19480]
                                    )
                                  ]
                                  spids: [19480]
                                )
                                (ControlFlow
                                  token: <ControlFlow_Continue continue>
                                )
                              ]
                              spids: [19477 19487]
                            )
                          ]
                          spids: [19414 19415 19490 16777215]
                        )
                      ]
                      spids: [19328 19332 19493]
                    )
                    (C {(func_quote_for_eval)} {(DQ ($ VSub_Name '$arg'))})
                    (C {(func_append)} {(install_prog)} 
                      {(DQ (' ') ($ VSub_Name '$func_quote_for_eval_result'))}
                    )
                    (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: [16777215 19529]
                        )
                      ]
                      spids: [16777215 19539]
                    )
                    (C {(func_append)} {(install_shared_prog)} 
                      {(DQ (' ') ($ VSub_Name '$func_quote_for_eval_result'))}
                    )
                  ]
                  spids: [19287 19552]
                )
              spids: [16777215 16777215]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(test)} {(-z)} {(DQ ($ VSub_Name '$install_prog'))})
                (C {(func_fatal_help)} {(DQ ('you must specify an install program'))})
              ]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$prev'))})
                (C {(func_fatal_help)} 
                  {(DQ ("the '") ($ VSub_Name '$prev') ("' option requires an argument"))}
                )
              ]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$install_override_mode'))})
                            (C {($ VSub_Name '$no_mode')})
                          ]
                        )
                      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: [16777215 19621]
                        )
                      ]
                      else_action: [
                        (C {(func_quote_for_eval)} {(DQ ($ VSub_Name '$install_override_mode'))})
                        (C {(func_append)} {(install_shared_prog)} 
                          {(DQ (' -m ') ($ VSub_Name '$func_quote_for_eval_result'))}
                        )
                      ]
                      spids: [19626 19646]
                    )
                  ]
                  spids: [16777215 19613]
                )
              ]
              spids: [16777215 19649]
            )
            (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: [16777215 19678]
                        )
                      ]
                      else_action: [(C {(func_fatal_help)} {(DQ ('you must specify a destination'))})]
                      spids: [19688 19698]
                    )
                  ]
                  spids: [16777215 19664]
                )
              ]
              spids: [16777215 19701]
            )
            (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: [19723]
                )
              ]
              spids: [19723]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(test)} {(-d)} {(DQ ($ VSub_Name '$dest'))})
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:isdir)
                      op: Equal
                      rhs: {(Lit_Other ':')}
                      spids: [19742]
                    )
                  ]
                  spids: [19742]
                )
              ]
            )
            (If
              arms: [
                (if_arm
                  cond: [(Sentence child:(C {($ VSub_Name '$isdir')}) terminator:<Op_Semi ';'>)]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:destdir)
                          op: Equal
                          rhs: {($ VSub_Name '$dest')}
                          spids: [19754]
                        )
                      ]
                      spids: [19754]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:destname)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [19758]
                        )
                      ]
                      spids: [19758]
                    )
                  ]
                  spids: [16777215 19751]
                )
              ]
              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: {($ VSub_Name '$func_dirname_result')}
                      spids: [19778]
                    )
                  ]
                  spids: [19778]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:destname)
                      op: Equal
                      rhs: {($ VSub_Name '$func_basename_result')}
                      spids: [19782]
                    )
                  ]
                  spids: [19782]
                )
                (Sentence
                  child: (C {(set)} {(dummy)} {($ VSub_Name '$files')})
                  terminator: <Op_Semi ';'>
                )
                (C {(shift)})
                (AndOr
                  ops: [Op_DAmp]
                  children: [
                    (C {(test)} {(DQ ($ VSub_Pound '$#'))} {(-gt)} {(1)})
                    (C {(func_fatal_help)} {(DQ ("'") ($ VSub_Name '$dest') ("' is not a directory"))})
                  ]
                )
              ]
              spids: [19761 19824]
            )
            (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: [19834 19851 19853 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (ForEach
                      iter_name: file
                      iter_words: [{($ VSub_Name '$files')}]
                      do_arg_iter: F
                      body: 
                        (DoGroup
                          children: [
                            (Case
                              to_match: {($ VSub_Name '$file')}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (.lo)}]
                                  spids: [19879 19881 19883 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(func_fatal_help)} 
                                      {
                                        (DQ ("'") ($ VSub_Name '$destdir') 
                                          ("' must be an absolute directory name")
                                        )
                                      }
                                    )
                                  ]
                                  spids: [19886 19887 19899 16777215]
                                )
                              ]
                              spids: [19872 19876 19902]
                            )
                          ]
                          spids: [19869 19905]
                        )
                      spids: [19865 19867]
                    )
                  ]
                  spids: [19856 19857 19908 16777215]
                )
              ]
              spids: [19827 19831 19911]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libtool_install_magic)
                  op: Equal
                  rhs: {($ VSub_Name '$magic')}
                  spids: [19923]
                )
              ]
              spids: [19923]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:staticlibs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19928]
                )
              ]
              spids: [19928]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:future_libdirs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19931]
                )
              ]
              spids: [19931]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:current_libdirs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19934]
                )
              ]
              spids: [19934]
            )
            (ForEach
              iter_name: file
              iter_words: [{($ VSub_Name '$files')}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name '$file')}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.) ($ VSub_Name '$libext')}]
                          action: [(C {(func_append)} {(staticlibs)} {(DQ (' ') ($ VSub_Name '$file'))})]
                          spids: [19961 19964 19981 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.la)}]
                          action: [
                            (C {(func_resolve_sysroot)} {(DQ ($ VSub_Name '$file'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:file)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_resolve_sysroot_result')}
                                  spids: [19997]
                                )
                              ]
                              spids: [19997]
                            )
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(func_lalib_unsafe_p)} {(DQ ($ VSub_Name '$file'))})
                                (C {(func_fatal_help)} 
                                  {
                                    (DQ ("'") ($ VSub_Name '$file') 
                                      ("' is not a valid libtool archive")
                                    )
                                  }
                                )
                              ]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:library_names)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [20026]
                                )
                              ]
                              spids: [20026]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:old_library)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [20029]
                                )
                              ]
                              spids: [20029]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:relink_command)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [20032]
                                )
                              ]
                              spids: [20032]
                            )
                            (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: [20077 20084 20086 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_append)} {(current_libdirs)} 
                                              {(DQ (' ') ($ VSub_Name '$libdir'))}
                                            )
                                          ]
                                          spids: [20089 20090 20101 16777215]
                                        )
                                      ]
                                      spids: [20067 20074 20104]
                                    )
                                  ]
                                  spids: [16777215 20064]
                                )
                              ]
                              else_action: [
                                (Case
                                  to_match: {(DQ ($ VSub_Name '$future_libdirs') (' '))}
                                  arms: [
                                    (case_arm
                                      pat_list: [
                                        {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$libdir') (' ')) 
                                          (Lit_Other '*')
                                        }
                                      ]
                                      spids: [20124 20131 20133 16777215]
                                    )
                                    (case_arm
                                      pat_list: [{(Lit_Other '*')}]
                                      action: [
                                        (C {(func_append)} {(future_libdirs)} 
                                          {(DQ (' ') ($ VSub_Name '$libdir'))}
                                        )
                                      ]
                                      spids: [20136 20137 20148 16777215]
                                    )
                                  ]
                                  spids: [20114 20121 20151]
                                )
                              ]
                              spids: [20107 20154]
                            )
                            (C {(func_dirname)} {(DQ ($ VSub_Name '$file'))} {(DQ (/))} {(DQ )})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dir)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_dirname_result')}
                                  spids: [20172]
                                )
                              ]
                              spids: [20172]
                            )
                            (C {(func_append)} {(dir)} {(DQ ($ VSub_Name '$objdir'))})
                            (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: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [20205 20224]
                                              )
                                            }
                                          spids: [20204]
                                        )
                                      ]
                                      spids: [20204]
                                    )
                                    (AndOr
                                      ops: [Op_DAmp]
                                      children: [
                                        (C {(test)} {(DQ ($ VSub_Name '$inst_prefix_dir'))} 
                                          {(Lit_Other '=')} {(DQ ($ VSub_Name '$destdir'))}
                                        )
                                        (C {(func_fatal_error)} 
                                          {
                                            (DQ ("error: cannot install '") ($ VSub_Name '$file') 
                                              ("' to a directory not ending in ") ($ VSub_Name '$libdir')
                                            )
                                          }
                                        )
                                      ]
                                    )
                                    (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: F
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick '`'>
                                                        spids: [20298 20314]
                                                      )
                                                    }
                                                  spids: [20297]
                                                )
                                              ]
                                              spids: [20297]
                                            )
                                          ]
                                          spids: [16777215 20290]
                                        )
                                      ]
                                      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: F
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick '`'>
                                                    spids: [20321 20335]
                                                  )
                                                }
                                              spids: [20320]
                                            )
                                          ]
                                          spids: [20320]
                                        )
                                      ]
                                      spids: [20317 20338]
                                    )
                                    (C {(func_warning)} 
                                      {(DQ ("relinking '") ($ VSub_Name '$file') ("'"))}
                                    )
                                    (C {(func_show_eval)} {(DQ ($ VSub_Name '$relink_command'))} 
                                      {(SQ <'func_fatal_error "error: relink '>) 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\'">
                                        ) (SQ <'$file'>) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) 
                                        (SQ <' with the above command before installing it"'>)
                                      }
                                    )
                                  ]
                                  spids: [16777215 20197]
                                )
                              ]
                              spids: [16777215 20372]
                            )
                            (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: {($ VSub_Number '$1')}
                                          spids: [20404]
                                        )
                                      ]
                                      spids: [20404]
                                    )
                                    (C {(shift)})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:srcname)
                                          op: Equal
                                          rhs: {($ VSub_Name '$realname')}
                                          spids: [20412]
                                        )
                                      ]
                                      spids: [20412]
                                    )
                                    (AndOr
                                      ops: [Op_DAmp]
                                      children: [
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$relink_command'))})
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:srcname)
                                              op: Equal
                                              rhs: {(${ VSub_Name realname) (T)}
                                              spids: [20426]
                                            )
                                          ]
                                          spids: [20426]
                                        )
                                      ]
                                    )
                                    (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: {($ VSub_Name '$stripme')}
                                          spids: [20459]
                                        )
                                      ]
                                      spids: [20459]
                                    )
                                    (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: {(EmptyPart)}
                                                          spids: [20502]
                                                        )
                                                      ]
                                                      spids: [20502]
                                                    )
                                                  ]
                                                  spids: [20497 20499 20505 16777215]
                                                )
                                              ]
                                              spids: [20490 20494 20508]
                                            )
                                          ]
                                          spids: [20470 20487 20511 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(os2) (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: {(EmptyPart)}
                                                          spids: [20531]
                                                        )
                                                      ]
                                                      spids: [20531]
                                                    )
                                                  ]
                                                  spids: [20526 20528 20534 16777215]
                                                )
                                              ]
                                              spids: [20519 20523 20537]
                                            )
                                          ]
                                          spids: [20514 20516 20540 16777215]
                                        )
                                      ]
                                      spids: [20463 20467 20543]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$tstripme'))})
                                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$striplib'))})
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_show_eval)} 
                                              {
                                                (DQ ($ VSub_Name '$striplib') (' ') 
                                                  ($ VSub_Name '$destdir') (/) ($ VSub_Name '$realname')
                                                )
                                              } {(SQ <'exit $?'>)}
                                            )
                                          ]
                                          spids: [16777215 20567]
                                        )
                                      ]
                                      spids: [16777215 20585]
                                    )
                                    (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: T
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (AndOr
                                                      ops: [Op_DAmp]
                                                      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') ('; }; })')
                                                            )
                                                          }
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  spids: [20626 20671]
                                                )
                                              spids: [16777215 16777215]
                                            )
                                          ]
                                          spids: [16777215 20602]
                                        )
                                      ]
                                      spids: [16777215 20674]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:lib)
                                          op: Equal
                                          rhs: 
                                            {($ VSub_Name '$destdir') (/) ($ VSub_Name '$realname')}
                                          spids: [20682]
                                        )
                                      ]
                                      spids: [20682]
                                    )
                                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name '$postinstall_cmds'))} 
                                      {(SQ <'exit $?'>)}
                                    )
                                  ]
                                  spids: [16777215 20401]
                                )
                              ]
                              spids: [16777215 20699]
                            )
                            (C {(func_basename)} {(DQ ($ VSub_Name '$file'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:name)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_basename_result')}
                                  spids: [20714]
                                )
                              ]
                              spids: [20714]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:instname)
                                  op: Equal
                                  rhs: {($ VSub_Name '$dir') (/) (${ VSub_Name name) (i)}
                                  spids: [20718]
                                )
                              ]
                              spids: [20718]
                            )
                            (C {(func_show_eval)} 
                              {
                                (DQ ($ VSub_Name '$install_prog') (' ') ($ VSub_Name '$instname') (' ') 
                                  ($ VSub_Name '$destdir') (/) ($ VSub_Name '$name')
                                )
                              } {(SQ <'exit $?'>)}
                            )
                            (AndOr
                              ops: [Op_DAmp]
                              children: [
                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$old_library'))})
                                (C {(func_append)} {(staticlibs)} 
                                  {(DQ (' ') ($ VSub_Name '$dir') (/) ($ VSub_Name '$old_library'))}
                                )
                              ]
                            )
                          ]
                          spids: [19985 19987 20771 16777215]
                        )
                        (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: 
                                            {($ VSub_Name '$destdir') (/) ($ VSub_Name '$destname')}
                                          spids: [20803]
                                        )
                                      ]
                                      spids: [20803]
                                    )
                                  ]
                                  spids: [16777215 20800]
                                )
                              ]
                              else_action: [
                                (C {(func_basename)} {(DQ ($ VSub_Name '$file'))})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:destfile)
                                      op: Equal
                                      rhs: {($ VSub_Name '$func_basename_result')}
                                      spids: [20819]
                                    )
                                  ]
                                  spids: [20819]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:destfile)
                                      op: Equal
                                      rhs: {($ VSub_Name '$destdir') (/) ($ VSub_Name '$destfile')}
                                      spids: [20823]
                                    )
                                  ]
                                  spids: [20823]
                                )
                              ]
                              spids: [20809 20829]
                            )
                            (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: [20856]
                                        )
                                      ]
                                      spids: [20856]
                                    )
                                  ]
                                  spids: [20844 20846 20860 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (.) ($ VSub_Name '$objext')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:staticdest)
                                          op: Equal
                                          rhs: {($ VSub_Name '$destfile')}
                                          spids: [20869]
                                        )
                                      ]
                                      spids: [20869]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:destfile)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [20873]
                                        )
                                      ]
                                      spids: [20873]
                                    )
                                  ]
                                  spids: [20863 20866 20876 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(func_fatal_help)} 
                                      {
                                        (DQ ("cannot copy a libtool object to '") 
                                          ($ VSub_Name '$destfile') ("'")
                                        )
                                      }
                                    )
                                  ]
                                  spids: [20879 20880 20892 16777215]
                                )
                              ]
                              spids: [20837 20841 20895]
                            )
                            (AndOr
                              ops: [Op_DAmp]
                              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 $?'>)}
                                )
                              ]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(yes)} {(Lit_Other '=')} 
                                          {(DQ ($ VSub_Name '$build_old_libs'))}
                                        )
                                      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: [20962]
                                        )
                                      ]
                                      spids: [20962]
                                    )
                                    (C {(func_show_eval)} 
                                      {
                                        (DQ ($ VSub_Name '$install_prog') (' ') 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\$'>
                                          ) ('staticobj ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (staticdest)
                                        )
                                      } {(SQ <'exit $?'>)}
                                    )
                                  ]
                                  spids: [16777215 20948]
                                )
                              ]
                              spids: [16777215 20982]
                            )
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
                            )
                          ]
                          spids: [20775 20777 20990 16777215]
                        )
                        (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: 
                                            {($ VSub_Name '$destdir') (/) ($ VSub_Name '$destname')}
                                          spids: [21016]
                                        )
                                      ]
                                      spids: [21016]
                                    )
                                  ]
                                  spids: [16777215 21013]
                                )
                              ]
                              else_action: [
                                (C {(func_basename)} {(DQ ($ VSub_Name '$file'))})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:destfile)
                                      op: Equal
                                      rhs: {($ VSub_Name '$func_basename_result')}
                                      spids: [21032]
                                    )
                                  ]
                                  spids: [21032]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:destfile)
                                      op: Equal
                                      rhs: {($ VSub_Name '$destdir') (/) ($ VSub_Name '$destfile')}
                                      spids: [21036]
                                    )
                                  ]
                                  spids: [21036]
                                )
                              ]
                              spids: [21022 21042]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:stripped_ext)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [21058]
                                )
                              ]
                              spids: [21058]
                            )
                            (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: [21103]
                                                )
                                              ]
                                              spids: [21103]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:stripped_ext)
                                                  op: Equal
                                                  rhs: {(.exe)}
                                                  spids: [21107]
                                                )
                                              ]
                                              spids: [21107]
                                            )
                                          ]
                                          spids: [16777215 21086]
                                        )
                                      ]
                                      spids: [16777215 21111]
                                    )
                                  ]
                                  spids: [21068 21070 21114 16777215]
                                )
                              ]
                              spids: [21061 21065 21117]
                            )
                            (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: [21163]
                                                )
                                              ]
                                              spids: [21163]
                                            )
                                          ]
                                          spids: [16777215 21153]
                                        )
                                      ]
                                      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: [21184]
                                            )
                                          ]
                                          spids: [21184]
                                        )
                                      ]
                                      spids: [21167 21188]
                                    )
                                  ]
                                  spids: [21132 21141 21191 16777215]
                                )
                                (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: [21198]
                                        )
                                      ]
                                      spids: [21198]
                                    )
                                  ]
                                  spids: [21194 21195 21202 16777215]
                                )
                              ]
                              spids: [21125 21129 21205]
                            )
                            (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: {(EmptyPart)}
                                          spids: [21220]
                                        )
                                      ]
                                      spids: [21220]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:relink_command)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [21223]
                                        )
                                      ]
                                      spids: [21223]
                                    )
                                    (C {(func_source)} {(DQ ($ VSub_Name '$wrapper'))})
                                    (AndOr
                                      ops: [Op_DAmp]
                                      children: [
                                        (C {(test)} {(-z)} 
                                          {(DQ ($ VSub_Name '$generated_by_libtool_version'))}
                                        )
                                        (C {(func_fatal_error)} 
                                          {
                                            (DQ ("invalid libtool wrapper script '") 
                                              ($ VSub_Name '$wrapper') ("'")
                                            )
                                          }
                                        )
                                      ]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:finalize)
                                          op: Equal
                                          rhs: {(Lit_Other ':')}
                                          spids: [21261]
                                        )
                                      ]
                                      spids: [21261]
                                    )
                                    (ForEach
                                      iter_name: lib
                                      iter_words: [{($ VSub_Name '$notinst_deplibs')}]
                                      do_arg_iter: F
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:libdir)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [21281]
                                                )
                                              ]
                                              spids: [21281]
                                            )
                                            (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: [16777215 21295]
                                                )
                                              ]
                                              spids: [16777215 21305]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:libfile)
                                                  op: Equal
                                                  rhs: 
                                                    {($ 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: F
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick '`'>
                                                        spids: [21311 21325]
                                                      )
                                                    }
                                                  spids: [21308]
                                                )
                                              ]
                                              spids: [21308]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (AndOr
                                                          ops: [Op_DAmp]
                                                          children: [
                                                            (C {(test)} {(-n)} 
                                                              {(DQ ($ VSub_Name '$libdir'))}
                                                            )
                                                            (C {(test)} {(KW_Bang '!')} {(-f)} 
                                                              {(DQ ($ VSub_Name '$libfile'))}
                                                            )
                                                          ]
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_warning)} 
                                                      {
                                                        (DQ ("'") ($ VSub_Name '$lib') 
                                                          ("' has not been installed in '") ($ VSub_Name '$libdir') ("'")
                                                        )
                                                      }
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:finalize)
                                                          op: Equal
                                                          rhs: {(false)}
                                                          spids: [21365]
                                                        )
                                                      ]
                                                      spids: [21365]
                                                    )
                                                  ]
                                                  spids: [16777215 21351]
                                                )
                                              ]
                                              spids: [16777215 21369]
                                            )
                                          ]
                                          spids: [21274 21372]
                                        )
                                      spids: [21270 21272]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:relink_command)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [21376]
                                        )
                                      ]
                                      spids: [21376]
                                    )
                                    (C {(func_source)} {(DQ ($ VSub_Name '$wrapper'))})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:outputname)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [21387]
                                        )
                                      ]
                                      spids: [21387]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(no)} {(Lit_Other '=')} 
                                                      {(DQ ($ VSub_Name '$fast_install'))}
                                                    )
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$relink_command'))}
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (AndOr
                                              ops: [Op_DPipe]
                                              children: [
                                                (C {($ VSub_Name '$opt_dry_run')})
                                                (BraceGroup
                                                  children: [
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: (C {($ VSub_Name '$finalize')})
                                                              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: [21432 21434]
                                                                      )
                                                                    }
                                                                  spids: [21431]
                                                                )
                                                              ]
                                                              spids: [21431]
                                                            )
                                                            (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: 
                                                                    {
                                                                      ($ VSub_Name 
'$func_basename_result'
                                                                      )
                                                                    }
                                                                  spids: [21445]
                                                                )
                                                              ]
                                                              spids: [21445]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:outputname)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {($ VSub_Name '$tmpdir') (/) 
                                                                      ($ VSub_Name '$file')
                                                                    }
                                                                  spids: [21449]
                                                                )
                                                              ]
                                                              spids: [21449]
                                                            )
                                                            (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: F
                                                                              )
                                                                            ]
                                                                          )
                                                                        left_token: 
                                                                          <Left_Backtick '`'>
                                                                        spids: [21460 21480]
                                                                      )
                                                                    }
                                                                  spids: [21459]
                                                                )
                                                              ]
                                                              spids: [21459]
                                                            )
                                                            (AndOr
                                                              ops: [Op_DPipe]
                                                              children: [
                                                                (C {($ VSub_Name '$opt_quiet')})
                                                                (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: [21488]
                                                                )
                                                              ]
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(eval)} 
                                                                          {
                                                                            (DQ 
                                                                              ($ VSub_Name 
'$relink_command'
                                                                              )
                                                                            )
                                                                          }
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [(C {(Lit_Other ':')})]
                                                                  spids: [16777215 21518]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (C {(func_error)} 
                                                                  {
                                                                    (DQ ("error: relink '") 
                                                                      ($ VSub_Name '$file') ("' with the above command before installing it")
                                                                    )
                                                                  }
                                                                )
                                                                (AndOr
                                                                  ops: [Op_DPipe]
                                                                  children: [
                                                                    (C {($ VSub_Name '$opt_dry_run')})
                                                                    (C {(${ VSub_Name RM) (r)} 
                                                                      {(DQ ($ VSub_Name '$tmpdir'))}
                                                                    )
                                                                  ]
                                                                )
                                                                (ControlFlow
                                                                  token: 
                                                                    <ControlFlow_Continue continue>
                                                                )
                                                              ]
                                                              spids: [21523 21552]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:file)
                                                                  op: Equal
                                                                  rhs: {($ VSub_Name '$outputname')}
                                                                  spids: [21555]
                                                                )
                                                              ]
                                                              spids: [21555]
                                                            )
                                                          ]
                                                          spids: [16777215 21428]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (C {(func_warning)} 
                                                          {
                                                            (DQ ("cannot relink '") 
                                                              ($ VSub_Name '$file') ("'")
                                                            )
                                                          }
                                                        )
                                                      ]
                                                      spids: [21559 21571]
                                                    )
                                                  ]
                                                  spids: [21420]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [16777215 21413]
                                        )
                                      ]
                                      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%') (Lit_Other '\\') 
                                                                    ('([^/]*') (Lit_Other '\\') (')') (Lit_Other '$') ('%') ($ VSub_Name '$objdir') (/) (Lit_Other '\\') ('1%')
                                                                  )
                                                                }
                                                              )
                                                            ]
                                                            negated: F
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick '`'>
                                                    spids: [21585 21610]
                                                  )
                                                }
                                              spids: [21584]
                                            )
                                          ]
                                          spids: [21584]
                                        )
                                      ]
                                      spids: [21577 21613]
                                    )
                                  ]
                                  spids: [16777215 21217]
                                )
                              ]
                              spids: [16777215 21616]
                            )
                            (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: [21656 21661 21668 16777215]
                                        )
                                        (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: [21678]
                                                )
                                              ]
                                              spids: [21678]
                                            )
                                          ]
                                          spids: [21671 21675 21683 16777215]
                                        )
                                        (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: [21707]
                                                )
                                              ]
                                              spids: [21707]
                                            )
                                          ]
                                          spids: [21686 21690 21711 16777215]
                                        )
                                      ]
                                      spids: [21647 21653 21714]
                                    )
                                  ]
                                  spids: [21637 21644 21717 16777215]
                                )
                              ]
                              spids: [21628 21634 21720]
                            )
                            (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
                              ops: [Op_DPipe]
                              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: [16777215 21755]
                                    )
                                  ]
                                  spids: [16777215 21768]
                                )
                              ]
                            )
                          ]
                          spids: [20994 20995 21771 16777215]
                        )
                      ]
                      spids: [19954 19958 21774]
                    )
                  ]
                  spids: [19946 21777]
                )
              spids: [19942 19944]
            )
            (ForEach
              iter_name: file
              iter_words: [{($ VSub_Name '$staticlibs')}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (C {(func_basename)} {(DQ ($ VSub_Name '$file'))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:name)
                          op: Equal
                          rhs: {($ VSub_Name '$func_basename_result')}
                          spids: [21800]
                        )
                      ]
                      spids: [21800]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:oldlib)
                          op: Equal
                          rhs: {($ VSub_Name '$destdir') (/) ($ VSub_Name '$name')}
                          spids: [21809]
                        )
                      ]
                      spids: [21809]
                    )
                    (C {(func_to_tool_file)} {(DQ ($ VSub_Name '$oldlib'))} 
                      {(func_convert_file_msys_to_w32)}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:tool_oldlib)
                          op: Equal
                          rhs: {($ VSub_Name '$func_to_tool_file_result')}
                          spids: [21824]
                        )
                      ]
                      spids: [21824]
                    )
                    (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
                                  ops: [Op_DAmp]
                                  children: [
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$stripme'))})
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$old_striplib'))})
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(func_show_eval)} 
                              {(DQ ($ VSub_Name '$old_striplib') (' ') ($ VSub_Name '$tool_oldlib'))} {(SQ <'exit $?'>)}
                            )
                          ]
                          spids: [16777215 21867]
                        )
                      ]
                      spids: [16777215 21883]
                    )
                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name '$old_postinstall_cmds'))} 
                      {(SQ <'exit $?'>)}
                    )
                  ]
                  spids: [21790 21902]
                )
              spids: [21786 21788]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$future_libdirs'))})
                (C {(func_warning)} 
                  {
                    (DQ ("remember to run '") ($ VSub_Name '$progname') (' --finish') 
                      ($ VSub_Name '$future_libdirs') ("'")
                    )
                  }
                )
              ]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$current_libdirs'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (AndOr
                      ops: [Op_DAmp]
                      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: [21952]
                            )
                          ]
                          spids: [21952]
                        )
                      ]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:exec_cmd)
                          op: Equal
                          rhs: {(SQ <'$SHELL "$progpath" $preserve_args --finish$current_libdirs'>)}
                          spids: [21959]
                        )
                      ]
                      spids: [21959]
                    )
                  ]
                  spids: [16777215 21941]
                )
              ]
              else_action: [
                (ControlFlow
                  token: <ControlFlow_Exit exit>
                  arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
                )
              ]
              spids: [21965 21973]
            )
          ]
          spids: [19070]
        )
      spids: [19065 19069]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (C {(test)} {(install)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$opt_mode'))})
        (C {(func_mode_install)} 
          {
            (BracedVarSub
              token: <VSub_Number 1>
              suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
              spids: [21992 21998]
            )
          }
        )
      ]
    )
    (FuncDef
      name: func_generate_dlsyms
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_outputname)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [22023]
                )
              ]
              spids: [22023]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_originator)
                  op: Equal
                  rhs: {($ VSub_Number '$2')}
                  spids: [22027]
                )
              ]
              spids: [22027]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_pic_p)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Number 3>
                        suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(false)})
                        spids: [22032 22036]
                      )
                    }
                  spids: [22031]
                )
              ]
              spids: [22031]
            )
            (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 {($ VSub_Name '$SED')} {(SQ <'s%[^a-zA-Z0-9]%_%g'>)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [22040 22054]
                      )
                    }
                  spids: [22039]
                )
              ]
              spids: [22039]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_dlsyms)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [22057]
                )
              ]
              spids: [22057]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DPipe]
                          children: [
                            (C {(test)} {(-n)} 
                              {(DQ ($ VSub_Name '$dlfiles') ($ VSub_Name '$dlprefiles'))}
                            )
                            (C {(test)} {(no)} {(KW_Bang '!') (Lit_Other '=')} 
                              {(DQ ($ VSub_Name '$dlself'))}
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  ops: [Op_DAmp]
                                  children: [
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$NM'))})
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$global_symbol_pipe'))})
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:my_dlsyms)
                                  op: Equal
                                  rhs: {(${ VSub_Name my_outputname) (S.c)}
                                  spids: [22113]
                                )
                              ]
                              spids: [22113]
                            )
                          ]
                          spids: [16777215 22110]
                        )
                      ]
                      else_action: [
                        (C {(func_error)} 
                          {(DQ ('not configured to extract global symbols from dlpreopened files'))}
                        )
                      ]
                      spids: [22120 22130]
                    )
                  ]
                  spids: [16777215 22086]
                )
              ]
              spids: [16777215 22133]
            )
            (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: [22158 22160 22162 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.c)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:nlist)
                                  op: Equal
                                  rhs: 
                                    {($ VSub_Name '$output_objdir') (/) 
                                      ($ VSub_Name '$my_outputname') (.nm)
                                    }
                                  spids: [22174]
                                )
                              ]
                              spids: [22174]
                            )
                            (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
                              ops: [Op_DPipe]
                              children: [
                                (C {($ VSub_Name '$opt_dry_run')})
                                (SimpleCommand
                                  words: [
                                    {($ VSub_Name '$ECHO')}
                                    {
                                      (DQ ('/* ') ($ VSub_Name '$my_dlsyms') 
                                        (" - symbol resolution table for '") ($ VSub_Name '$my_outputname') ("' dlsym emulation. */\n") ('/* Generated by ') ($ VSub_Name '$PROGRAM') 
                                        (' (GNU ') ($ VSub_Name '$PACKAGE') (') ') ($ 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') 
                                        (
'/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */\n'
                                        ) ('#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE\n') 
                                        (
"/* DATA imports from DLLs on WIN32 can't be const, because runtime\n"
                                        ) ("   relocations are performed -- see ld's documentation on pseudo-relocs.  */\n") 
                                        ('# define LT_DLSYM_CONST\n') ('#elif defined __osf__\n') 
                                        (
'/* This system does not cope well with relocations in const data.  */\n'
                                        ) ('# define LT_DLSYM_CONST\n') ('#else\n') ('# define LT_DLSYM_CONST const\n') ('#endif\n') ('\n') 
                                        ('#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0)\n') ('\n') ('/* External symbol declarations for the compiler. */')
                                      )
                                    }
                                  ]
                                  redirects: [
                                    (Redir
                                      op: <Redir_Great '>'>
                                      fd: 16777215
                                      arg_word: 
                                        {
                                          (DQ ($ VSub_Name '$output_objdir') (/) 
                                            ($ VSub_Name '$my_dlsyms')
                                          )
                                        }
                                    )
                                  ]
                                )
                              ]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(yes)} {(Lit_Other '=')} 
                                          {(DQ ($ VSub_Name '$dlself'))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_verbose)} 
                                      {
                                        (DQ ("generating symbol list for '") ($ VSub_Name '$output') 
                                          ("'")
                                        )
                                      }
                                    )
                                    (AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (SimpleCommand
                                          words: [{(echo)} {(SQ <': @PROGRAM@ '>)}]
                                          redirects: [
                                            (Redir
                                              op: <Redir_Great '>'>
                                              fd: 16777215
                                              arg_word: {(DQ ($ VSub_Name '$nlist'))}
                                            )
                                          ]
                                        )
                                      ]
                                    )
                                    (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: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [22330 22353]
                                              )
                                            }
                                          spids: [22329]
                                        )
                                      ]
                                      spids: [22329]
                                    )
                                    (ForEach
                                      iter_name: progfile
                                      iter_words: [{($ VSub_Name '$progfiles')}]
                                      do_arg_iter: F
                                      body: 
                                        (DoGroup
                                          children: [
                                            (C {(func_to_tool_file)} {(DQ ($ VSub_Name '$progfile'))} 
                                              {(func_convert_file_msys_to_w32)}
                                            )
                                            (C {(func_verbose)} 
                                              {
                                                (DQ ("extracting global C symbols from '") 
                                                  ($ VSub_Name '$func_to_tool_file_result') ("'")
                                                )
                                              }
                                            )
                                            (AndOr
                                              ops: [Op_DPipe]
                                              children: [
                                                (C {($ VSub_Name '$opt_dry_run')})
                                                (C {(eval)} 
                                                  {
                                                    (DQ ($ VSub_Name '$NM') (' ') 
                                                      ($ VSub_Name '$func_to_tool_file_result') (' | ') ($ VSub_Name '$global_symbol_pipe') (" >> '") ($ VSub_Name '$nlist') ("'")
                                                    )
                                                  }
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [22365 22404]
                                        )
                                      spids: [22361 22363]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-n)} 
                                                  {(DQ ($ VSub_Name '$exclude_expsyms'))}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (AndOr
                                              ops: [Op_DPipe]
                                              children: [
                                                (C {($ VSub_Name '$opt_dry_run')})
                                                (BraceGroup
                                                  children: [
                                                    (C {(eval)} 
                                                      {
                                                        (SQ 
                                                          <
'$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
                                                          >
                                                        )
                                                      }
                                                    )
                                                    (C {(eval)} {(SQ <'$MV "$nlist"T "$nlist"'>)})
                                                  ]
                                                  spids: [22426]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [16777215 22419]
                                        )
                                      ]
                                      spids: [16777215 22446]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-n)} 
                                                  {(DQ ($ VSub_Name '$export_symbols_regex'))}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (AndOr
                                              ops: [Op_DPipe]
                                              children: [
                                                (C {($ VSub_Name '$opt_dry_run')})
                                                (BraceGroup
                                                  children: [
                                                    (C {(eval)} 
                                                      {
                                                        (SQ 
                                                          <
'$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
                                                          >
                                                        )
                                                      }
                                                    )
                                                    (C {(eval)} {(SQ <'$MV "$nlist"T "$nlist"'>)})
                                                  ]
                                                  spids: [22468]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [16777215 22461]
                                        )
                                      ]
                                      spids: [16777215 22488]
                                    )
                                    (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: 
                                                    {($ VSub_Name '$output_objdir') (/) 
                                                      ($ VSub_Name '$outputname') (.exp)
                                                    }
                                                  spids: [22510]
                                                )
                                              ]
                                              spids: [22510]
                                            )
                                            (AndOr
                                              ops: [Op_DPipe]
                                              children: [
                                                (C {($ VSub_Name '$opt_dry_run')})
                                                (BraceGroup
                                                  children: [
                                                    (C {($ VSub_Name '$RM')} 
                                                      {($ VSub_Name '$export_symbols')}
                                                    )
                                                    (C {(eval)} 
                                                      {
                                                        (DQ ($ VSub_Name '$SED') 
                                                          (" -n -e '/^: @PROGRAM@ ") (Lit_Other '$') ("/d' -e 's/^.* ") (Lit_Other '\\') ('(.*') (Lit_Other '\\') (')') (Lit_Other '$') (/) 
                                                          (Lit_Other '\\') ("1/p' ")
                                                        ) (SQ <'< "$nlist" > "$export_symbols"'>)
                                                      }
                                                    )
                                                    (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: [
                                                            (C {(eval)} 
                                                              {(DQ ('echo EXPORTS ')) 
                                                                (SQ 
                                                                  <
'> "$output_objdir/$outputname.def"'
                                                                  >
                                                                )
                                                              }
                                                            )
                                                            (C {(eval)} 
                                                              {
                                                                (SQ 
                                                                  <
'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
                                                                  >
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [22557 22573 22593 16777215]
                                                        )
                                                      ]
                                                      spids: [22550 22554 22596]
                                                    )
                                                  ]
                                                  spids: [22521]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [16777215 22507]
                                        )
                                      ]
                                      else_action: [
                                        (AndOr
                                          ops: [Op_DPipe]
                                          children: [
                                            (C {($ VSub_Name '$opt_dry_run')})
                                            (BraceGroup
                                              children: [
                                                (C {(eval)} 
                                                  {
                                                    (DQ ($ VSub_Name '$SED') (" -e 's/") 
                                                      (Lit_Other '\\') ('([].[*^') (Lit_Other '$') (']') (Lit_Other '\\') (')/') 
                                                      (EscapedLiteralPart
                                                        token: <Lit_EscapedChar '\\\\'>
                                                      ) (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (Lit_Other '\\') ("1/g' -e 's/^/ /' -e 's/") 
                                                      (Lit_Other '$') (/) (Lit_Other '$') ("/'")
                                                    ) (SQ <' < "$export_symbols" > "$output_objdir/$outputname.exp"'>)
                                                  }
                                                )
                                                (C {(eval)} 
                                                  {
                                                    (SQ 
                                                      <
'$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
                                                      >
                                                    )
                                                  }
                                                )
                                                (C {(eval)} {(SQ <'$MV "$nlist"T "$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: [
                                                        (C {(eval)} 
                                                          {(DQ ('echo EXPORTS ')) 
                                                            (SQ 
                                                              <
'> "$output_objdir/$outputname.def"'
                                                              >
                                                            )
                                                          }
                                                        )
                                                        (C {(eval)} 
                                                          {
                                                            (SQ 
                                                              <
'cat "$nlist" >> "$output_objdir/$outputname.def"'
                                                              >
                                                            )
                                                          }
                                                        )
                                                      ]
                                                      spids: [22658 22674 22694 16777215]
                                                    )
                                                  ]
                                                  spids: [22651 22655 22697]
                                                )
                                              ]
                                              spids: [22609]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [22602 22703]
                                    )
                                  ]
                                  spids: [16777215 22294]
                                )
                              ]
                              spids: [16777215 22706]
                            )
                            (ForEach
                              iter_name: dlprefile
                              iter_words: [{($ VSub_Name '$dlprefiles')}]
                              do_arg_iter: F
                              body: 
                                (DoGroup
                                  children: [
                                    (C {(func_verbose)} 
                                      {
                                        (DQ ("extracting global C symbols from '") 
                                          ($ VSub_Name '$dlprefile') ("'")
                                        )
                                      }
                                    )
                                    (C {(func_basename)} {(DQ ($ VSub_Name '$dlprefile'))})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:name)
                                          op: Equal
                                          rhs: {($ VSub_Name '$func_basename_result')}
                                          spids: [22738]
                                        )
                                      ]
                                      spids: [22738]
                                    )
                                    (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 {(func_win32_import_lib_p)} 
                                                          {(DQ ($ VSub_Name '$dlprefile'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_tr_sh)} {(DQ ($ VSub_Name '$dlprefile'))})
                                                    (C {(eval)} 
                                                      {
                                                        (DQ ('curr_lafile=') 
                                                          (EscapedLiteralPart
                                                            token: <Lit_EscapedChar '\\$'>
                                                          ) (libfile_) ($ VSub_Name '$func_tr_sh_result')
                                                        )
                                                      }
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:dlprefile_dlbasename)
                                                          op: Equal
                                                          rhs: {(EmptyPart)}
                                                          spids: [22801]
                                                        )
                                                      ]
                                                      spids: [22801]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (AndOr
                                                                  ops: [Op_DAmp]
                                                                  children: [
                                                                    (C {(test)} {(-n)} 
                                                                      {
                                                                        (DQ 
                                                                          ($ VSub_Name '$curr_lafile')
                                                                        )
                                                                      }
                                                                    )
                                                                    (C {(func_lalib_p)} 
                                                                      {
                                                                        (DQ 
                                                                          ($ VSub_Name '$curr_lafile')
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: 
                                                                    (LhsName
                                                                      name: dlprefile_dlname
                                                                    )
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (CommandSubPart
                                                                        command_list: 
                                                                          (CommandList
                                                                            children: [
                                                                              (AndOr
                                                                                ops: [Op_DAmp]
                                                                                children: [
                                                                                  (C {(source)} 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
'$curr_lafile'
                                                                                        )
                                                                                      )
                                                                                    }
                                                                                  )
                                                                                  (C {(echo)} 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
'$dlname'
                                                                                        )
                                                                                      )
                                                                                    }
                                                                                  )
                                                                                ]
                                                                              )
                                                                            ]
                                                                          )
                                                                        left_token: 
                                                                          <Left_Backtick '`'>
                                                                        spids: [22831 22845]
                                                                      )
                                                                    }
                                                                  spids: [22830]
                                                                )
                                                              ]
                                                              spids: [22830]
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(test)} {(-n)} 
                                                                          {
                                                                            (DQ 
                                                                              ($ VSub_Name 
'$dlprefile_dlname'
                                                                              )
                                                                            )
                                                                          }
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (C {(func_basename)} 
                                                                      {
                                                                        (DQ 
                                                                          ($ VSub_Name 
'$dlprefile_dlname'
                                                                          )
                                                                        )
                                                                      }
                                                                    )
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: 
dlprefile_dlbasename
                                                                            )
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              ($ VSub_Name 
'$func_basename_result'
                                                                              )
                                                                            }
                                                                          spids: [22869]
                                                                        )
                                                                      ]
                                                                      spids: [22869]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 22859]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (C 
                                                                  {
                                                                    ($ VSub_Name 
'$sharedlib_from_linklib_cmd'
                                                                    )
                                                                  } {(DQ ($ VSub_Name '$dlprefile'))}
                                                                )
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: 
                                                                        (LhsName
                                                                          name: dlprefile_dlbasename
                                                                        )
                                                                      op: Equal
                                                                      rhs: 
                                                                        {
                                                                          ($ VSub_Name 
'$sharedlib_from_linklib_result'
                                                                          )
                                                                        }
                                                                      spids: [22887]
                                                                    )
                                                                  ]
                                                                  spids: [22887]
                                                                )
                                                              ]
                                                              spids: [22873 22891]
                                                            )
                                                          ]
                                                          spids: [16777215 22823]
                                                        )
                                                      ]
                                                      spids: [16777215 22894]
                                                    )
                                                    (AndOr
                                                      ops: [Op_DPipe]
                                                      children: [
                                                        (C {($ VSub_Name '$opt_dry_run')})
                                                        (BraceGroup
                                                          children: [
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(test)} {(-n)} 
                                                                          {
                                                                            (DQ 
                                                                              ($ VSub_Name 
'$dlprefile_dlbasename'
                                                                              )
                                                                            )
                                                                          }
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (C {(eval)} 
                                                                      {
                                                                        (SQ 
                                                                          <
'$ECHO ": $dlprefile_dlbasename" >> "$nlist"'
                                                                          >
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [16777215 22915]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (C {(func_warning)} 
                                                                  {
                                                                    (DQ 
                                                                      (
'Could not compute DLL name from '
                                                                      ) ($ VSub_Name '$name')
                                                                    )
                                                                  }
                                                                )
                                                                (C {(eval)} 
                                                                  {
                                                                    (SQ 
                                                                      <
'$ECHO ": $name " >> "$nlist"'
                                                                      >
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                              spids: [22925 22943]
                                                            )
                                                            (C {(func_to_tool_file)} 
                                                              {(DQ ($ VSub_Name '$dlprefile'))} {(func_convert_file_msys_to_w32)}
                                                            )
                                                            (C {(eval)} 
                                                              {
                                                                (DQ ($ VSub_Name '$NM') (' ') 
                                                                  (EscapedLiteralPart
                                                                    token: <Lit_EscapedChar '\\"'>
                                                                  ) ($ VSub_Name '$func_to_tool_file_result') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                                                  (' 2>/dev/null | ') ($ VSub_Name '$global_symbol_pipe') (' |\n') ('\t            ') ($ VSub_Name '$SED') 
                                                                  (
" -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '"
                                                                  ) ($ VSub_Name '$nlist') ("'")
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [22901]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  spids: [16777215 22781]
                                                )
                                              ]
                                              else_action: [
                                                (AndOr
                                                  ops: [Op_DPipe]
                                                  children: [
                                                    (C {($ VSub_Name '$opt_dry_run')})
                                                    (BraceGroup
                                                      children: [
                                                        (C {(eval)} 
                                                          {(SQ <'$ECHO ": $name " >> "$nlist"'>)}
                                                        )
                                                        (C {(func_to_tool_file)} 
                                                          {(DQ ($ VSub_Name '$dlprefile'))} {(func_convert_file_msys_to_w32)}
                                                        )
                                                        (C {(eval)} 
                                                          {
                                                            (DQ ($ VSub_Name '$NM') (' ') 
                                                              (EscapedLiteralPart
                                                                token: <Lit_EscapedChar '\\"'>
                                                              ) ($ VSub_Name '$func_to_tool_file_result') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                                              (' 2>/dev/null | ') ($ VSub_Name '$global_symbol_pipe') (" >> '") ($ VSub_Name '$nlist') ("'")
                                                            )
                                                          }
                                                        )
                                                      ]
                                                      spids: [22987]
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [22977 23025]
                                            )
                                          ]
                                          spids: [22749 22765 23028 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (AndOr
                                              ops: [Op_DPipe]
                                              children: [
                                                (C {($ VSub_Name '$opt_dry_run')})
                                                (BraceGroup
                                                  children: [
                                                    (C {(eval)} {(SQ <'$ECHO ": $name " >> "$nlist"'>)})
                                                    (C {(func_to_tool_file)} 
                                                      {(DQ ($ VSub_Name '$dlprefile'))} {(func_convert_file_msys_to_w32)}
                                                    )
                                                    (C {(eval)} 
                                                      {
                                                        (DQ ($ VSub_Name '$NM') (' ') 
                                                          (EscapedLiteralPart
                                                            token: <Lit_EscapedChar '\\"'>
                                                          ) ($ VSub_Name '$func_to_tool_file_result') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                                          (' 2>/dev/null | ') ($ VSub_Name '$global_symbol_pipe') (" >> '") ($ VSub_Name '$nlist') ("'")
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [23039]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [23031 23032 23077 16777215]
                                        )
                                      ]
                                      spids: [22742 22746 23080]
                                    )
                                  ]
                                  spids: [22719 23083]
                                )
                              spids: [22715 22717]
                            )
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {($ VSub_Name '$opt_dry_run')})
                                (BraceGroup
                                  children: [
                                    (AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {(test)} {(-f)} {(DQ ($ VSub_Name '$nlist'))})
                                        (SimpleCommand
                                          words: [{(Lit_Other ':')}]
                                          redirects: [
                                            (Redir
                                              op: <Redir_Great '>'>
                                              fd: 16777215
                                              arg_word: {(DQ ($ VSub_Name '$nlist'))}
                                            )
                                          ]
                                        )
                                      ]
                                    )
                                    (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: <Redir_Great '>'>
                                                  fd: 16777215
                                                  arg_word: {(DQ ($ VSub_Name '$nlist')) (T)}
                                                )
                                              ]
                                            )
                                            (C {($ VSub_Name '$MV')} {(DQ ($ VSub_Name '$nlist')) (T)} 
                                              {(DQ ($ VSub_Name '$nlist'))}
                                            )
                                          ]
                                          spids: [16777215 23129]
                                        )
                                      ]
                                      spids: [16777215 23167]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (Pipeline
                                                  children: [
                                                    (SimpleCommand
                                                      words: [
                                                        {($ VSub_Name '$GREP')}
                                                        {(-v)}
                                                        {(DQ ('^: '))}
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op: <Redir_Less '<'>
                                                          fd: 16777215
                                                          arg_word: {(DQ ($ VSub_Name '$nlist'))}
                                                        )
                                                      ]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (SimpleCommand
                                                                  words: [{(sort)} {(-k)} {(3)}]
                                                                  redirects: [
                                                                    (Redir
                                                                      op: <Redir_Less '<'>
                                                                      fd: 16777215
                                                                      arg_word: {(/dev/null)}
                                                                    )
                                                                    (Redir
                                                                      op: <Redir_Great '>'>
                                                                      fd: 16777215
                                                                      arg_word: {(/dev/null)}
                                                                    )
                                                                    (Redir
                                                                      op: <Redir_GreatAnd '2>&'>
                                                                      fd: 2
                                                                      arg_word: {(1)}
                                                                    )
                                                                  ]
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [(C {(sort)} {(-k)} {(3)})]
                                                          spids: [16777215 23212]
                                                        )
                                                      ]
                                                      else_action: [(C {(sort)} {(Lit_Other '+') (2)})]
                                                      spids: [23222 23231]
                                                    )
                                                    (SimpleCommand
                                                      words: [{(uniq)}]
                                                      redirects: [
                                                        (Redir
                                                          op: <Redir_Great '>'>
                                                          fd: 16777215
                                                          arg_word: {(DQ ($ VSub_Name '$nlist')) (S)}
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  negated: F
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [(C {(Lit_Other ':')})]
                                          spids: [16777215 23246]
                                        )
                                      ]
                                      else_action: [
                                        (SimpleCommand
                                          words: [{($ VSub_Name '$GREP')} {(-v)} {(DQ ('^: '))}]
                                          redirects: [
                                            (Redir
                                              op: <Redir_Less '<'>
                                              fd: 16777215
                                              arg_word: {(DQ ($ VSub_Name '$nlist'))}
                                            )
                                            (Redir
                                              op: <Redir_Great '>'>
                                              fd: 16777215
                                              arg_word: {(DQ ($ VSub_Name '$nlist')) (S)}
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [23252 23277]
                                    )
                                    (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: [16777215 23293]
                                        )
                                      ]
                                      else_action: [
                                        (SimpleCommand
                                          words: [{(echo)} {(SQ <'/* NONE */'>)}]
                                          redirects: [
                                            (Redir
                                              op: <Redir_DGreat '>>'>
                                              fd: 16777215
                                              arg_word: 
                                                {
                                                  (DQ ($ VSub_Name '$output_objdir') (/) 
                                                    ($ VSub_Name '$my_dlsyms')
                                                  )
                                                }
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [23306 23324]
                                    )
                                    (C {(func_show_eval)} {(SQ <'$RM "${nlist}I"'>)})
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-n)} 
                                                  {(DQ ($ VSub_Name '$global_symbol_to_import'))}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(eval)} 
                                              {(DQ ($ VSub_Name '$global_symbol_to_import')) 
                                                (SQ <' < "$nlist"S > "$nlist"I'>)
                                              }
                                            )
                                          ]
                                          spids: [16777215 23346]
                                        )
                                      ]
                                      spids: [16777215 23359]
                                    )
                                    (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') 
                                            ('extern LT_DLSYM_CONST lt_dlsymlist\n') (lt_) (${ VSub_Name my_prefix) ('_LTX_preloaded_symbols[];')
                                          )
                                        }
                                      ]
                                      redirects: [
                                        (Redir
                                          op: <Redir_DGreat '>>'>
                                          fd: 16777215
                                          arg_word: 
                                            {
                                              (DQ ($ VSub_Name '$output_objdir') (/) 
                                                ($ VSub_Name '$my_dlsyms')
                                              )
                                            }
                                        )
                                      ]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-s)} {(DQ ($ VSub_Name '$nlist')) (I)})
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (SimpleCommand
                                              words: [
                                                {(echo)}
                                                {
                                                  (DQ ('static void lt_syminit(void)\n') ('{\n') 
                                                    ('  LT_DLSYM_CONST lt_dlsymlist *symbol = lt_') (${ VSub_Name my_prefix) ('_LTX_preloaded_symbols;\n') ('  for (; symbol->name; ++symbol)\n') ('    {')
                                                  )
                                                }
                                              ]
                                              redirects: [
                                                (Redir
                                                  op: <Redir_DGreat '>>'>
                                                  fd: 16777215
                                                  arg_word: 
                                                    {
                                                      (DQ ($ VSub_Name '$output_objdir') (/) 
                                                        ($ VSub_Name '$my_dlsyms')
                                                      )
                                                    }
                                                )
                                              ]
                                            )
                                            (SimpleCommand
                                              words: [
                                                {($ VSub_Name '$SED')}
                                                {
                                                  (SQ 
                                                    <
's/.*/      if (STREQ (symbol->name, \\"&\\")) symbol->address = (void *) \\&&;/'
                                                    >
                                                  )
                                                }
                                              ]
                                              redirects: [
                                                (Redir
                                                  op: <Redir_Less '<'>
                                                  fd: 16777215
                                                  arg_word: {(DQ ($ VSub_Name '$nlist')) (I)}
                                                )
                                                (Redir
                                                  op: <Redir_DGreat '>>'>
                                                  fd: 16777215
                                                  arg_word: 
                                                    {
                                                      (DQ ($ VSub_Name '$output_objdir') (/) 
                                                        ($ VSub_Name '$my_dlsyms')
                                                      )
                                                    }
                                                )
                                              ]
                                            )
                                            (SimpleCommand
                                              words: [{(echo)} {(DQ ('    }\n') ('}'))}]
                                              redirects: [
                                                (Redir
                                                  op: <Redir_DGreat '>>'>
                                                  fd: 16777215
                                                  arg_word: 
                                                    {
                                                      (DQ ($ VSub_Name '$output_objdir') (/) 
                                                        ($ VSub_Name '$my_dlsyms')
                                                      )
                                                    }
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [16777215 23404]
                                        )
                                      ]
                                      spids: [16777215 23470]
                                    )
                                    (SimpleCommand
                                      words: [
                                        {(echo)}
                                        {
                                          (DQ ('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: <Redir_DGreat '>>'>
                                          fd: 16777215
                                          arg_word: 
                                            {
                                              (DQ ($ VSub_Name '$output_objdir') (/) 
                                                ($ VSub_Name '$my_dlsyms')
                                              )
                                            }
                                        )
                                      ]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-s)} {(DQ ($ VSub_Name '$nlist')) (I)})
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (SimpleCommand
                                              words: [
                                                {(echo)}
                                                {
                                                  (DQ ('  {') 
                                                    (EscapedLiteralPart
                                                      token: <Lit_EscapedChar '\\"'>
                                                    ) ('@INIT@') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (', (void *) &lt_syminit},')
                                                  )
                                                }
                                              ]
                                              redirects: [
                                                (Redir
                                                  op: <Redir_DGreat '>>'>
                                                  fd: 16777215
                                                  arg_word: 
                                                    {
                                                      (DQ ($ VSub_Name '$output_objdir') (/) 
                                                        ($ VSub_Name '$my_dlsyms')
                                                      )
                                                    }
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [16777215 23512]
                                        )
                                      ]
                                      spids: [16777215 23535]
                                    )
                                    (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: <Redir_Less '<'>
                                                  fd: 16777215
                                                  arg_word: {(DQ ($ VSub_Name '$nlist'))}
                                                )
                                                (Redir
                                                  op: <Redir_DGreat '>>'>
                                                  fd: 16777215
                                                  arg_word: 
                                                    {
                                                      (DQ ($ VSub_Name '$output_objdir') (/) 
                                                        ($ VSub_Name '$my_dlsyms')
                                                      )
                                                    }
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [23546 23547 23571 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (SimpleCommand
                                              words: [
                                                {(eval)}
                                                {
                                                  (DQ 
                                                    ($ VSub_Name 
'$global_symbol_to_c_name_address_lib_prefix'
                                                    )
                                                  )
                                                }
                                              ]
                                              redirects: [
                                                (Redir
                                                  op: <Redir_Less '<'>
                                                  fd: 16777215
                                                  arg_word: {(DQ ($ VSub_Name '$nlist'))}
                                                )
                                                (Redir
                                                  op: <Redir_DGreat '>>'>
                                                  fd: 16777215
                                                  arg_word: 
                                                    {
                                                      (DQ ($ VSub_Name '$output_objdir') (/) 
                                                        ($ VSub_Name '$my_dlsyms')
                                                      )
                                                    }
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [23574 23575 23599 16777215]
                                        )
                                      ]
                                      spids: [23539 23543 23602]
                                    )
                                    (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: <Redir_DGreat '>>'>
                                          fd: 16777215
                                          arg_word: 
                                            {
                                              (DQ ($ VSub_Name '$output_objdir') (/) 
                                                ($ VSub_Name '$my_dlsyms')
                                              )
                                            }
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [23091]
                                )
                              ]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:pic_flag_for_symtable)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [23645]
                                )
                              ]
                              spids: [23645]
                            )
                            (Case
                              to_match: {(DQ ($ VSub_Name '$compile_command') (' '))}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (DQ (' -static ')) (Lit_Other '*')}]
                                  spids: [23658 23663 23665 16777215]
                                )
                                (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: [23719]
                                                )
                                              ]
                                              spids: [23719]
                                            )
                                          ]
                                          spids: [23699 23716 23726 16777215]
                                        )
                                        (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: [23737]
                                                )
                                              ]
                                              spids: [23737]
                                            )
                                          ]
                                          spids: [23729 23734 23743 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (AndOr
                                              ops: [Op_DAmp]
                                              children: [
                                                (C {($ VSub_Name '$my_pic_p')})
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:pic_flag_for_symtable)
                                                      op: Equal
                                                      rhs: {(DQ (' ') ($ VSub_Name '$pic_flag'))}
                                                      spids: [23754]
                                                    )
                                                  ]
                                                  spids: [23754]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [23746 23747 23761 16777215]
                                        )
                                      ]
                                      spids: [23672 23676 23764]
                                    )
                                  ]
                                  spids: [23668 23669 23767 16777215]
                                )
                              ]
                              spids: [23648 23655 23770]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:symtab_cflags)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [23773]
                                )
                              ]
                              spids: [23773]
                            )
                            (ForEach
                              iter_name: arg
                              iter_words: [{($ VSub_Name '$LTCFLAGS')}]
                              do_arg_iter: F
                              body: 
                                (DoGroup
                                  children: [
                                    (Case
                                      to_match: {($ VSub_Name '$arg')}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(-pie)} {(-fpie)} {(-fPIE)}]
                                          spids: [23795 23804 23806 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_append)} {(symtab_cflags)} 
                                              {(DQ (' ') ($ VSub_Name '$arg'))}
                                            )
                                          ]
                                          spids: [23809 23810 23821 16777215]
                                        )
                                      ]
                                      spids: [23788 23792 23824]
                                    )
                                  ]
                                  spids: [23785 23827]
                                )
                              spids: [23781 23783]
                            )
                            (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" "${nlist}I"'
                                  >
                                )
                              }
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:symfileobj)
                                  op: Equal
                                  rhs: 
                                    {($ VSub_Name '$output_objdir') (/) (${ VSub_Name my_outputname) 
                                      (S.) ($ VSub_Name '$objext')
                                    }
                                  spids: [23863]
                                )
                              ]
                              spids: [23863]
                            )
                            (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: F
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick '`'>
                                                        spids: [23917 23937]
                                                      )
                                                    }
                                                  spids: [23916]
                                                )
                                              ]
                                              spids: [23916]
                                            )
                                            (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: F
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick '`'>
                                                        spids: [23941 23961]
                                                      )
                                                    }
                                                  spids: [23940]
                                                )
                                              ]
                                              spids: [23940]
                                            )
                                          ]
                                          spids: [16777215 23913]
                                        )
                                      ]
                                      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: F
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick '`'>
                                                    spids: [23968 23984]
                                                  )
                                                }
                                              spids: [23967]
                                            )
                                          ]
                                          spids: [23967]
                                        )
                                        (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: F
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick '`'>
                                                    spids: [23988 24004]
                                                  )
                                                }
                                              spids: [23987]
                                            )
                                          ]
                                          spids: [23987]
                                        )
                                      ]
                                      spids: [23964 24007]
                                    )
                                  ]
                                  spids: [23880 23896 24010 16777215]
                                )
                                (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: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [24018 24034]
                                              )
                                            }
                                          spids: [24017]
                                        )
                                      ]
                                      spids: [24017]
                                    )
                                    (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: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [24038 24054]
                                              )
                                            }
                                          spids: [24037]
                                        )
                                      ]
                                      spids: [24037]
                                    )
                                  ]
                                  spids: [24013 24014 24057 16777215]
                                )
                              ]
                              spids: [23873 23877 24060]
                            )
                          ]
                          spids: [22165 22167 24063 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (C {(func_fatal_error)} 
                              {(DQ ("unknown suffix for '") ($ VSub_Name '$my_dlsyms') ("'"))}
                            )
                          ]
                          spids: [24066 24067 24079 16777215]
                        )
                      ]
                      spids: [22151 22155 24082]
                    )
                  ]
                  spids: [16777215 22148]
                )
              ]
              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: F
                                  )
                                ]
                              )
                            left_token: <Left_Backtick '`'>
                            spids: [24106 24120]
                          )
                        }
                      spids: [24105]
                    )
                  ]
                  spids: [24105]
                )
                (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: F
                                  )
                                ]
                              )
                            left_token: <Left_Backtick '`'>
                            spids: [24124 24138]
                          )
                        }
                      spids: [24123]
                    )
                  ]
                  spids: [24123]
                )
              ]
              spids: [24085 24141]
            )
          ]
          spids: [22016]
        )
      spids: [22011 22015]
    )
    (FuncDef
      name: func_cygming_gnu_implib_p
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (C {(func_to_tool_file)} {(DQ ($ VSub_Number '$1'))} {(func_convert_file_msys_to_w32)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_cygming_gnu_implib_tmp)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {($ VSub_Name '$NM')} 
                                    {(DQ ($ VSub_Name '$func_to_tool_file_result'))}
                                  )
                                  (C {(eval)} {(DQ ($ VSub_Name '$global_symbol_pipe'))})
                                  (C {($ VSub_Name '$EGREP')} 
                                    {
                                      (SQ 
                                        <
' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'
                                        >
                                      )
                                    }
                                  )
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [24180 24202]
                      )
                    }
                  spids: [24179]
                )
              ]
              spids: [24179]
            )
            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$func_cygming_gnu_implib_tmp'))})
          ]
          spids: [24163]
        )
      spids: [24158 24162]
    )
    (FuncDef
      name: func_cygming_ms_implib_p
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (C {(func_to_tool_file)} {(DQ ($ VSub_Number '$1'))} {(func_convert_file_msys_to_w32)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_cygming_ms_implib_tmp)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {($ VSub_Name '$NM')} 
                                    {(DQ ($ VSub_Name '$func_to_tool_file_result'))}
                                  )
                                  (C {(eval)} {(DQ ($ VSub_Name '$global_symbol_pipe'))})
                                  (C {($ VSub_Name '$GREP')} {(SQ <_NULL_IMPORT_DESCRIPTOR>)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [24250 24272]
                      )
                    }
                  spids: [24249]
                )
              ]
              spids: [24249]
            )
            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$func_cygming_ms_implib_tmp'))})
          ]
          spids: [24233]
        )
      spids: [24228 24232]
    )
    (FuncDef
      name: func_win32_libid
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:win32_libid_type)
                  op: Equal
                  rhs: {(unknown)}
                  spids: [24319]
                )
              ]
              spids: [24319]
            )
            (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:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})]
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [24324 24333]
                      )
                    }
                  spids: [24323]
                )
              ]
              spids: [24323]
            )
            (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: [24358]
                        )
                      ]
                      spids: [24358]
                    )
                  ]
                  spids: [24343 24352 24364 16777215]
                )
                (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 {(eval)} {($ VSub_Name '$OBJDUMP')} {(-f)} {($ VSub_Number '$1')})
                                    (SimpleCommand
                                      words: [{($ VSub_Name '$SED')} {(-e)} {(SQ <10q>)}]
                                      redirects: [
                                        (Redir
                                          op: <Redir_Great '2>'>
                                          fd: 2
                                          arg_word: {(/dev/null)}
                                        )
                                      ]
                                    )
                                    (SimpleCommand
                                      words: [
                                        {($ VSub_Name '$EGREP')}
                                        {
                                          (SQ 
                                            <
'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
                                            >
                                          )
                                        }
                                      ]
                                      redirects: [
                                        (Redir
                                          op: <Redir_Great '>'>
                                          fd: 16777215
                                          arg_word: {(/dev/null)}
                                        )
                                      ]
                                    )
                                  ]
                                  negated: F
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Case
                              to_match: {($ VSub_Name '$nm_interface')}
                              arms: [
                                (case_arm
                                  pat_list: [{(DQ ('MS dumpbin'))}]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (AndOr
                                              ops: [Op_DPipe]
                                              children: [
                                                (C {(func_cygming_ms_implib_p)} 
                                                  {(DQ ($ VSub_Number '$1'))}
                                                )
                                                (C {(func_cygming_gnu_implib_p)} 
                                                  {(DQ ($ VSub_Number '$1'))}
                                                )
                                              ]
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:win32_nmres)
                                                  op: Equal
                                                  rhs: {(import)}
                                                  spids: [24455]
                                                )
                                              ]
                                              spids: [24455]
                                            )
                                          ]
                                          spids: [16777215 24452]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:win32_nmres)
                                              op: Equal
                                              rhs: {(EmptyPart)}
                                              spids: [24462]
                                            )
                                          ]
                                          spids: [24462]
                                        )
                                      ]
                                      spids: [24459 24465]
                                    )
                                  ]
                                  spids: [24428 24431 24468 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(func_to_tool_file)} {(DQ ($ VSub_Number '$1'))} 
                                      {(func_convert_file_msys_to_w32)}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:win32_nmres)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {(eval)} {($ VSub_Name '$NM')} {(-f)} 
                                                            {(posix)} {(-A)} 
                                                            {
                                                              (EscapedLiteralPart
                                                                token: <Lit_EscapedChar '\\"'>
                                                              ) ($ VSub_Name '$func_to_tool_file_result') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                            }
                                                          )
                                                          (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: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [24485 24519]
                                              )
                                            }
                                          spids: [24484]
                                        )
                                      ]
                                      spids: [24484]
                                    )
                                  ]
                                  spids: [24471 24472 24522 16777215]
                                )
                              ]
                              spids: [24421 24425 24525]
                            )
                            (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: [24539]
                                        )
                                      ]
                                      spids: [24539]
                                    )
                                  ]
                                  spids: [24535 24537 24543 16777215]
                                )
                                (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: [24549]
                                        )
                                      ]
                                      spids: [24549]
                                    )
                                  ]
                                  spids: [24546 24547 24553 16777215]
                                )
                              ]
                              spids: [24528 24532 24556]
                            )
                          ]
                          spids: [16777215 24418]
                        )
                      ]
                      spids: [16777215 24559]
                    )
                  ]
                  spids: [24367 24372 24562 16777215]
                )
                (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: [24571]
                        )
                      ]
                      spids: [24571]
                    )
                  ]
                  spids: [24565 24568 24577 16777215]
                )
                (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: [24608]
                                )
                              ]
                              spids: [24608]
                            )
                          ]
                          spids: [24596 24605 24614 16777215]
                        )
                      ]
                      spids: [24589 24593 24617]
                    )
                  ]
                  spids: [24580 24583 24620 16777215]
                )
              ]
              spids: [24336 24340 24623]
            )
            (C {($ VSub_Name '$ECHO')} {(DQ ($ VSub_Name '$win32_libid_type'))})
          ]
          spids: [24312]
        )
      spids: [24307 24311]
    )
    (FuncDef
      name: func_cygming_dll_for_implib
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:sharedlib_from_linklib_result)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {($ VSub_Name '$DLLTOOL')} {(--identify-strict)} {(--identify)} 
                                {(DQ ($ VSub_Number '$1'))}
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [24675 24685]
                      )
                    }
                  spids: [24674]
                )
              ]
              spids: [24674]
            )
          ]
          spids: [24667]
        )
      spids: [24662 24666]
    )
    (FuncDef
      name: func_cygming_dll_for_implib_fallback_core
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:match_literal)
                  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_make_literal_regex'))}
                                  )
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [24736 24750]
                      )
                    }
                  spids: [24735]
                )
              ]
              spids: [24735]
            )
            (Pipeline
              children: [
                (SimpleCommand
                  words: [
                    {($ VSub_Name '$OBJDUMP')}
                    {(-s)}
                    {(--section)}
                    {(DQ ($ VSub_Number '$1'))}
                    {(DQ ($ VSub_Number '$2'))}
                  ]
                  redirects: [(Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})]
                )
                (C {($ VSub_Name '$SED')} 
                  {(SQ <'/^Contents of section '>) (DQ ($ VSub_Name '$match_literal')) 
                    (SQ <':/{\n'> 
                      <'      # Place marker at beginning of archive member dllname section\n'> <'      s/.*/====MARK====/\n'> <'      p\n'> <'      d\n'> <'    }\n'> 
                      <'    # These lines can sometimes be longer than 43 characters, but\n'> <'    # are always uninteresting\n'> <'    /:[\t ]*file format pe[i]\\{,1\\}-/d\n'> 
                      <'    /^In archive [^:]*:/d\n'> <'    # Ensure marker is printed\n'> <'    /^====MARK====/p\n'> 
                      <'    # Remove all lines with less than 43 characters\n'> <'    /^.\\{43\\}/!d\n'> <'    # From remaining lines, remove first 43 characters\n'> 
                      <'    s/^.\\{43\\}//'>
                    )
                  }
                )
                (C {($ VSub_Name '$SED')} {(-n)} 
                  {
                    (SQ <'\n'> 
                      <'      # Join marker and all lines until next marker into a single line\n'> <'      /^====MARK====/ b para\n'> <'      H\n'> <'      $ b para\n'> <'      b\n'> <'      :para\n'> 
                      <'      x\n'> <'      s/\\n//g\n'> <'      # Remove the marker\n'> <'      s/^====MARK====//\n'> 
                      <'      # Remove trailing dots and whitespace\n'> <'      s/[\\. \\t]*$//\n'> <'      # Print\n'> <'      /./p'>
                    )
                  }
                )
                (C {($ VSub_Name '$SED')} {(-e)} {(SQ <'/^\\./d;/^.\\./d;q'>)})
              ]
              negated: F
            )
          ]
          spids: [24728]
        )
      spids: [24723 24727]
    )
    (FuncDef
      name: func_cygming_dll_for_implib_fallback
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(func_cygming_gnu_implib_p)} {(DQ ($ VSub_Number '$1'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:sharedlib_from_linklib_result)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(func_cygming_dll_for_implib_fallback_core)} 
                                        {(SQ <'.idata$7'>)} {(DQ ($ VSub_Number '$1'))}
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [24945 24955]
                              )
                            }
                          spids: [24944]
                        )
                      ]
                      spids: [24944]
                    )
                  ]
                  spids: [16777215 24937]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(func_cygming_ms_implib_p)} {(DQ ($ VSub_Number '$1'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:sharedlib_from_linklib_result)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(func_cygming_dll_for_implib_fallback_core)} 
                                        {(SQ <'.idata$6'>)} {(DQ ($ VSub_Number '$1'))}
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [24975 24985]
                              )
                            }
                          spids: [24974]
                        )
                      ]
                      spids: [24974]
                    )
                  ]
                  spids: [24958 24967]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:sharedlib_from_linklib_result)
                      op: Equal
                      rhs: {(EmptyPart)}
                      spids: [24995]
                    )
                  ]
                  spids: [24995]
                )
              ]
              spids: [24988 24998]
            )
          ]
          spids: [24921]
        )
      spids: [24916 24920]
    )
    (FuncDef
      name: func_extract_an_archive
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:f_ex_an_ar_dir)
                      op: Equal
                      rhs: {($ VSub_Number '$1')}
                      spids: [25019]
                    )
                  ]
                  spids: [25019]
                )
              terminator: <Op_Semi ';'>
            )
            (C {(shift)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:f_ex_an_ar_oldlib)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [25026]
                )
              ]
              spids: [25026]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(yes)} {(Lit_Other '=')} 
                          {(DQ ($ VSub_Name '$lock_old_archive_extraction'))}
                        )
                      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: [25046]
                        )
                      ]
                      spids: [25046]
                    )
                    (WhileUntil
                      keyword: <KW_Until until>
                      cond: [
                        (Sentence
                          child: 
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {($ VSub_Name '$opt_dry_run')})
                                (SimpleCommand
                                  words: [
                                    {(ln)}
                                    {(DQ ($ VSub_Name '$progpath'))}
                                    {(DQ ($ VSub_Name '$lockfile'))}
                                  ]
                                  redirects: [(Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})]
                                )
                              ]
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      body: 
                        (DoGroup
                          children: [
                            (C {(func_echo)} 
                              {(DQ ('Waiting for ') ($ VSub_Name '$lockfile') (' to be removed'))}
                            )
                            (C {(sleep)} {(2)})
                          ]
                          spids: [25071 25088]
                        )
                    )
                  ]
                  spids: [16777215 25043]
                )
              ]
              spids: [16777215 25091]
            )
            (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)} {(yes)} {(Lit_Other '=')} 
                          {(DQ ($ VSub_Name '$lock_old_archive_extraction'))}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (AndOr
                      ops: [Op_DPipe]
                      children: [
                        (C {($ VSub_Name '$opt_dry_run')})
                        (C {(rm)} {(-f)} {(DQ ($ VSub_Name '$lockfile'))})
                      ]
                    )
                  ]
                  spids: [16777215 25129]
                )
              ]
              spids: [16777215 25145]
            )
            (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: <Redir_Great '>'>
                                      fd: 16777215
                                      arg_word: {(/dev/null)}
                                    )
                                    (Redir
                                      op: <Redir_GreatAnd '2>&'>
                                      fd: 2
                                      arg_word: {(1)}
                                    )
                                  ]
                                )
                              ]
                              negated: F
                            )
                          spids: [25150 25174]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(Lit_Other ':')})]
                  spids: [16777215 25177]
                )
              ]
              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: [25183 25196]
            )
          ]
          spids: [25012]
        )
      spids: [25007 25011]
    )
    (FuncDef
      name: func_extract_archives
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:my_gentop)
                      op: Equal
                      rhs: {($ VSub_Number '$1')}
                      spids: [25217]
                    )
                  ]
                  spids: [25217]
                )
              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: [25225 25231]
                      )
                    }
                  spids: [25224]
                )
              ]
              spids: [25224]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_oldobjs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [25234]
                )
              ]
              spids: [25234]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_xlib)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [25237]
                )
              ]
              spids: [25237]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_xabs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [25240]
                )
              ]
              spids: [25240]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_xdir)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [25243]
                )
              ]
              spids: [25243]
            )
            (ForEach
              iter_name: my_xlib
              iter_words: [{($ VSub_Name '$my_oldlibs')}]
              do_arg_iter: F
              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: {($ VSub_Name '$my_xlib')}
                                  spids: [25289]
                                )
                              ]
                              spids: [25289]
                            )
                          ]
                          spids: [25270 25287 25292 16777215]
                        )
                        (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: [25299 25301]
                                      ) (DQ (/) ($ VSub_Name '$my_xlib'))
                                    }
                                  spids: [25298]
                                )
                              ]
                              spids: [25298]
                            )
                          ]
                          spids: [25295 25296 25307 16777215]
                        )
                      ]
                      spids: [25263 25267 25310]
                    )
                    (C {(func_basename)} {(DQ ($ VSub_Name '$my_xlib'))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:my_xlib)
                          op: Equal
                          rhs: {($ VSub_Name '$func_basename_result')}
                          spids: [25320]
                        )
                      ]
                      spids: [25320]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:my_xlib_u)
                          op: Equal
                          rhs: {($ VSub_Name '$my_xlib')}
                          spids: [25324]
                        )
                      ]
                      spids: [25324]
                    )
                    (WhileUntil
                      keyword: <KW_While 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: [25366]
                                        )
                                      ]
                                      spids: [25366]
                                    )
                                    (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: [25370]
                                        )
                                      ]
                                      spids: [25370]
                                    )
                                  ]
                                  spids: [25347 25354 25376 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [(ControlFlow token:<ControlFlow_Break break>)]
                                  spids: [25379 25380 25384 16777215]
                                )
                              ]
                              spids: [25336 25344 25387]
                            )
                          ]
                          spids: [25333 25390]
                        )
                    )
                    (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: [25393]
                        )
                      ]
                      spids: [25393]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:my_xdir)
                          op: Equal
                          rhs: {($ VSub_Name '$my_gentop') (/) ($ VSub_Name '$my_xlib_u')}
                          spids: [25401]
                        )
                      ]
                      spids: [25401]
                    )
                    (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
                              ops: [Op_DPipe]
                              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: [25449 25451]
                                              )
                                            }
                                          spids: [25448]
                                        )
                                      ]
                                      spids: [25448]
                                    )
                                    (AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {(cd)} {($ VSub_Name '$my_xdir')})
                                        (ControlFlow
                                          token: <ControlFlow_Exit exit>
                                          arg_word: {($ VSub_QMark '$?')}
                                        )
                                      ]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:darwin_archive)
                                          op: Equal
                                          rhs: {($ VSub_Name '$my_xabs')}
                                          spids: [25465]
                                        )
                                      ]
                                      spids: [25465]
                                    )
                                    (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: [25470 25472]
                                              )
                                            }
                                          spids: [25469]
                                        )
                                      ]
                                      spids: [25469]
                                    )
                                    (C {(func_basename)} {(DQ ($ VSub_Name '$darwin_archive'))})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:darwin_base_archive)
                                          op: Equal
                                          rhs: {($ VSub_Name '$func_basename_result')}
                                          spids: [25482]
                                        )
                                      ]
                                      spids: [25482]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:darwin_arches)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (AndOr
                                                        ops: [Op_DPipe]
                                                        children: [
                                                          (Pipeline
                                                            children: [
                                                              (SimpleCommand
                                                                words: [
                                                                  {($ VSub_Name '$LIPO')}
                                                                  {(-info)}
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name '$darwin_archive')
                                                                    )
                                                                  }
                                                                ]
                                                                redirects: [
                                                                  (Redir
                                                                    op: <Redir_Great '2>'>
                                                                    fd: 2
                                                                    arg_word: {(/dev/null)}
                                                                  )
                                                                ]
                                                              )
                                                              (SimpleCommand
                                                                words: [
                                                                  {($ VSub_Name '$GREP')}
                                                                  {(Architectures)}
                                                                ]
                                                                redirects: [
                                                                  (Redir
                                                                    op: <Redir_Great '2>'>
                                                                    fd: 2
                                                                    arg_word: {(/dev/null)}
                                                                  )
                                                                ]
                                                              )
                                                            ]
                                                            negated: F
                                                          )
                                                          (C {(true)})
                                                        ]
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [25487 25511]
                                              )
                                            }
                                          spids: [25486]
                                        )
                                      ]
                                      spids: [25486]
                                    )
                                    (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: F
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick '`'>
                                                        spids: [25529 25545]
                                                      )
                                                    }
                                                  spids: [25528]
                                                )
                                              ]
                                              spids: [25528]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:darwin_arch)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [25548]
                                                )
                                              ]
                                              spids: [25548]
                                            )
                                            (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: F
                                              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: [25623 25625]
                                                          )
                                                        )
                                                      } {(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: [25569 25654]
                                                )
                                              spids: [25565 25567]
                                            )
                                            (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 '$sed_basename')
                                                                      )
                                                                    }
                                                                  )
                                                                  (C {(sort)} {(-u)})
                                                                ]
                                                                negated: F
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick '`'>
                                                        spids: [25665 25706]
                                                      )
                                                    }
                                                  spids: [25664]
                                                )
                                              ]
                                              spids: [25664]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:darwin_file)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [25709]
                                                )
                                              ]
                                              spids: [25709]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:darwin_files)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [25712]
                                                )
                                              ]
                                              spids: [25712]
                                            )
                                            (ForEach
                                              iter_name: darwin_file
                                              iter_words: [{($ VSub_Name '$darwin_filelist')}]
                                              do_arg_iter: F
                                              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 {(sort)})
                                                                          (C {($ VSub_Name '$NL2SP')})
                                                                        ]
                                                                        negated: F
                                                                      )
                                                                    ]
                                                                  )
                                                                left_token: <Left_Backtick '`'>
                                                                spids: [25728 25747]
                                                              )
                                                            }
                                                          spids: [25727]
                                                        )
                                                      ]
                                                      spids: [25727]
                                                    )
                                                    (C {($ VSub_Name '$LIPO')} {(-create)} {(-output)} 
                                                      {(DQ ($ VSub_Name '$darwin_file'))} {($ VSub_Name '$darwin_files')}
                                                    )
                                                  ]
                                                  spids: [25724 25763]
                                                )
                                              spids: [25720 25722]
                                            )
                                            (C {($ VSub_Name '$RM')} {(-rf)} 
                                              {(unfat-) ($ VSub_Dollar '$$')}
                                            )
                                            (C {(cd)} {(DQ ($ VSub_Name '$darwin_orig_dir'))})
                                          ]
                                          spids: [16777215 25525]
                                        )
                                      ]
                                      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: [25784 25803]
                                    )
                                  ]
                                  spids: [25445]
                                )
                              ]
                            )
                          ]
                          spids: [25423 25426 25815 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (C {(func_extract_an_archive)} {(DQ ($ VSub_Name '$my_xdir'))} 
                              {(DQ ($ VSub_Name '$my_xabs'))}
                            )
                          ]
                          spids: [25818 25819 25833 16777215]
                        )
                      ]
                      spids: [25416 25420 25836]
                    )
                    (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 {(sort)})
                                          (C {($ VSub_Name '$NL2SP')})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [25844 25873]
                              )
                            }
                          spids: [25839]
                        )
                      ]
                      spids: [25839]
                    )
                  ]
                  spids: [25256 25876]
                )
              spids: [25252 25254]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_extract_archives_result)
                  op: Equal
                  rhs: {($ VSub_Name '$my_oldobjs')}
                  spids: [25880]
                )
              ]
              spids: [25880]
            )
          ]
          spids: [25210]
        )
      spids: [25205 25209]
    )
    (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: [25938 25942]
                      )
                    }
                  spids: [25937]
                )
              ]
              spids: [25937]
            )
            (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 '$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: F
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [26079 26093]
                      )
                    }
                  spids: [26078]
                )
              ]
              spids: [26078]
            )
            (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') ('\n') ('# Very basic option parsing. These options are (a) specific to\n') 
                  ('# the libtool wrapper, (b) are identical between the wrapper\n') ('# /script/ and the wrapper /executable/ that is used only on\n') 
                  ('# windows platforms, and (c) all begin with the string ')
                ) (--lt-) 
                (DQ ('\n') ('# (application programs are unlikely to have options that match\n') 
                  ('# this pattern).\n') ('#\n') ('# There are only two supported options: --lt-debug and\n') 
                  ('# --lt-dump-script. There is, deliberately, no --lt-help.\n') ('#\n') ('# The first argument to this parsing function should be the\n') ("# script's ") 
                  ($ VSub_Number '$0') (' value, followed by ')
                ) ($ VSub_At '$@') 
                (DQ ('.\n') ('lt_option_debug=\n') ('func_parse_lt_options ()\n') ('{\n') 
                  ('  lt_script_arg0=') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('0\n') ('  shift\n') ('  for lt_opt\n') ('  do\n') 
                  ('    case ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                  (lt_opt) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' in\n') ('    --lt-debug) lt_option_debug=1 ;;\n') 
                  ('    --lt-dump-script)\n') ('        lt_dump_D=') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('ECHO ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (X) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (lt_script_arg0) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' | ') ($ VSub_Name '$SED') 
                  (" -e 's/^X//' -e 's%/[^/]*") (Lit_Other '$') ("%%'") (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ('\n') ('        test ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (X) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (lt_dump_D) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' = ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (X) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (lt_script_arg0) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' && lt_dump_D=.\n') 
                  ('        lt_dump_F=') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                  ('ECHO ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (X) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (lt_script_arg0) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' | ') ($ VSub_Name '$SED') 
                  (" -e 's/^X//' -e 's%^.*/%%'") (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ('\n') ('        cat ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (lt_dump_D/) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (lt_dump_F) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('\n') ('        exit 0\n') ('      ;;\n') 
                  ('    --lt-*)\n') ('        ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('ECHO ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ("Unrecognized --lt- option: '") (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ("lt_opt'") 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' 1>&2\n') ('        exit 1\n') ('      ;;\n') ('    esac\n') ('  done\n') ('\n') 
                  ('  # Print the debug banner immediately:\n') ('  if test -n ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (lt_option_debug) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('; then\n') ('    echo ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$outputname') (':') ($ VSub_Name '$output') (':') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('LINENO: libtool wrapper (GNU ') ($ VSub_Name '$PACKAGE') (') ') ($ VSub_Name '$VERSION') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' 1>&2\n') ('  fi\n') ('}\n') ('\n') ('# Used when --lt-debug. Prints its arguments to stdout\n') 
                  ('# (redirection is the responsibility of the caller)\n') ('func_lt_dump_args ()\n') ('{\n') ('  lt_dump_args_N=1;\n') ('  for lt_arg\n') ('  do\n') ('    ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('ECHO ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$outputname') (':') 
                  ($ VSub_Name '$output') (':') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('LINENO: newargv[') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('lt_dump_args_N]: ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (lt_arg) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('\n') ('    lt_dump_args_N=') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ('expr ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('lt_dump_args_N + 1') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ('\n') ('  done\n') ('}\n') 
                  ('\n') ('# Core function for launching the target application\n') ('func_exec_program_core ()\n') ('{\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 ('      if test -n ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (lt_option_debug) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('; then\n') ('        ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('ECHO ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$outputname') (':') 
                          ($ VSub_Name '$output') (':') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('LINENO: newargv[0]: ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (progdir) (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) 
                          (EscapedLiteralPart
                            token: <Lit_EscapedChar '\\\\'>
                          ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (program) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' 1>&2\n') ('        func_lt_dump_args ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{1+') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('@') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('} 1>&2\n') ('      fi\n') ('      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: [26296 26314 26374 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (C {($ VSub_Name '$ECHO')} 
                      {
                        (DQ ('      if test -n ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (lt_option_debug) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('; then\n') ('        ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('ECHO ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$outputname') (':') 
                          ($ VSub_Name '$output') (':') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('LINENO: newargv[0]: ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (progdir/) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (program) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' 1>&2\n') ('        func_lt_dump_args ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{1+') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('@') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('} 1>&2\n') ('      fi\n') ('      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: [26378 26379 26435 16777215]
                )
              ]
              spids: [26285 26289 26438]
            )
            (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') ('}\n') ('\n') 
                  ('# A function to encapsulate launching the target application\n') ('# Strips options in the --lt-* namespace from ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                  ('@ and\n') ('# launches target application with the remaining arguments.\n') ('func_exec_program ()\n') ('{\n') 
                  ('  case ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('* ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' in\n') ('  *') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (' --lt-*)\n') ('    for lt_wr_arg\n') ('    do\n') ('      case ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('lt_wr_arg in\n') ('      --lt-*) ;;\n') ('      *) set x ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('@') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (lt_wr_arg) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('; shift;;\n') ('      esac\n') 
                  ('      shift\n') ('    done ;;\n') ('  esac\n') ('  func_exec_program_core ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{1+') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('@') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('}\n') ('}\n') ('\n') ('  # Parse options\n') 
                  ('  func_parse_lt_options ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                  (0) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{1+') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('@') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('}\n') ('\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)} {(yes)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$fast_install'))})
                      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 '\\$'>) ('relink_command 2>&1') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ('; then :\n') ('      else\n') ('\t') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('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: [16777215 26770]
                )
              ]
              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: [26977 26997]
            )
            (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: (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: [16777215 27049]
                )
              ]
              spids: [16777215 27065]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DAmp Op_DAmp]
                          children: [
                            (C {(test)} {(yes)} {(Lit_Other '=')} 
                              {(DQ ($ VSub_Name '$shlibpath_overrides_runpath'))}
                            )
                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$shlibpath_var'))})
                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$temp_rpath'))})
                          ]
                        )
                      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: [16777215 27106]
                )
              ]
              spids: [16777215 27154]
            )
            (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') ('      func_exec_program ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{1+') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('@') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('}\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 '\\$'>) (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: [25934]
        )
      spids: [25929 25933]
    )
    (FuncDef
      name: func_emit_cwrapperexe_src
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op: <Redir_DLess '<<'>
                  fd: 16777215
                  here_begin: {(EOF)}
                  here_end_span_id: 27274
                  stdin_parts: [
                    ('\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 '$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')
                  ]
                )
              ]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op: <Redir_DLess '<<'>
                  fd: 16777215
                  here_begin: {(DQ (EOF))}
                  here_end_span_id: 27428
                  stdin_parts: [
                    ('#ifdef _MSC_VER\n')
                    ('# define _CRT_SECURE_NO_DEPRECATE 1\n')
                    ('#endif\n')
                    ('#include <stdio.h>\n')
                    ('#include <stdlib.h>\n')
                    ('#ifdef _MSC_VER\n')
                    ('# include <direct.h>\n')
                    ('# include <process.h>\n')
                    ('# include <io.h>\n')
                    ('#else\n')
                    ('# include <unistd.h>\n')
                    ('# include <stdint.h>\n')
                    ('# ifdef __CYGWIN__\n')
                    ('#  include <io.h>\n')
                    ('# endif\n')
                    ('#endif\n')
                    ('#include <malloc.h>\n')
                    ('#include <stdarg.h>\n')
                    ('#include <assert.h>\n')
                    ('#include <string.h>\n')
                    ('#include <ctype.h>\n')
                    ('#include <errno.h>\n')
                    ('#include <fcntl.h>\n')
                    ('#include <sys/stat.h>\n')
                    ('\n')
                    ('#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0)\n')
                    ('\n')
                    ('/* declarations of non-ANSI functions */\n')
                    ('#if defined __MINGW32__\n')
                    ('# ifdef __STRICT_ANSI__\n')
                    ('int _putenv (const char *);\n')
                    ('# endif\n')
                    ('#elif defined __CYGWIN__\n')
                    ('# ifdef __STRICT_ANSI__\n')
                    ('char *realpath (const char *, char *);\n')
                    ('int putenv (char *);\n')
                    ('int setenv (const char *, const char *, int);\n')
                    ('# endif\n')
                    ('/* #elif defined other_platform || defined ... */\n')
                    ('#endif\n')
                    ('\n')
                    ('/* portability defines, excluding path handling macros */\n')
                    ('#if defined _MSC_VER\n')
                    ('# define setmode _setmode\n')
                    ('# define stat    _stat\n')
                    ('# define chmod   _chmod\n')
                    ('# define getcwd  _getcwd\n')
                    ('# define putenv  _putenv\n')
                    ('# define S_IXUSR _S_IEXEC\n')
                    ('#elif defined __MINGW32__\n')
                    ('# define setmode _setmode\n')
                    ('# define stat    _stat\n')
                    ('# define chmod   _chmod\n')
                    ('# define getcwd  _getcwd\n')
                    ('# define putenv  _putenv\n')
                    ('#elif defined __CYGWIN__\n')
                    ('# define HAVE_SETENV\n')
                    ('# define FOPEN_WB "wb"\n')
                    ('/* #elif defined other platforms ... */\n')
                    ('#endif\n')
                    ('\n')
                    ('#if defined PATH_MAX\n')
                    ('# define LT_PATHMAX PATH_MAX\n')
                    ('#elif defined MAXPATHLEN\n')
                    ('# define LT_PATHMAX MAXPATHLEN\n')
                    ('#else\n')
                    ('# define LT_PATHMAX 1024\n')
                    ('#endif\n')
                    ('\n')
                    ('#ifndef S_IXOTH\n')
                    ('# define S_IXOTH 0\n')
                    ('#endif\n')
                    ('#ifndef S_IXGRP\n')
                    ('# define S_IXGRP 0\n')
                    ('#endif\n')
                    ('\n')
                    ('/* path handling portability macros */\n')
                    ('#ifndef DIR_SEPARATOR\n')
                    ("# define DIR_SEPARATOR '/'\n")
                    ("# define PATH_SEPARATOR ':'\n")
                    ('#endif\n')
                    ('\n')
                    ('#if defined _WIN32 || defined __MSDOS__ || defined __DJGPP__ || \\\n')
                    ('  defined __OS2__\n')
                    ('# define HAVE_DOS_BASED_FILE_SYSTEM\n')
                    ('# define FOPEN_WB "wb"\n')
                    ('# ifndef DIR_SEPARATOR_2\n')
                    ("#  define DIR_SEPARATOR_2 '\\\\'\n")
                    ('# endif\n')
                    ('# ifndef PATH_SEPARATOR_2\n')
                    ("#  define PATH_SEPARATOR_2 ';'\n")
                    ('# endif\n')
                    ('#endif\n')
                    ('\n')
                    ('#ifndef DIR_SEPARATOR_2\n')
                    ('# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)\n')
                    ('#else /* DIR_SEPARATOR_2 */\n')
                    ('# define IS_DIR_SEPARATOR(ch) \\\n')
                    ('\t(((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))\n')
                    ('#endif /* DIR_SEPARATOR_2 */\n')
                    ('\n')
                    ('#ifndef PATH_SEPARATOR_2\n')
                    ('# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)\n')
                    ('#else /* PATH_SEPARATOR_2 */\n')
                    ('# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)\n')
                    ('#endif /* PATH_SEPARATOR_2 */\n')
                    ('\n')
                    ('#ifndef FOPEN_WB\n')
                    ('# define FOPEN_WB "w"\n')
                    ('#endif\n')
                    ('#ifndef _O_BINARY\n')
                    ('# define _O_BINARY 0\n')
                    ('#endif\n')
                    ('\n')
                    ('#define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))\n')
                    ('#define XFREE(stale) do { \\\n')
                    ('  if (stale) { free (stale); stale = 0; } \\\n')
                    ('} while (0)\n')
                    ('\n')
                    ('#if defined LT_DEBUGWRAPPER\n')
                    ('static int lt_debug = 1;\n')
                    ('#else\n')
                    ('static int lt_debug = 0;\n')
                    ('#endif\n')
                    ('\n')
                    ('const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */\n')
                    ('\n')
                    ('void *xmalloc (size_t num);\n')
                    ('char *xstrdup (const char *string);\n')
                    ('const char *base_name (const char *name);\n')
                    ('char *find_executable (const char *wrapper);\n')
                    ('char *chase_symlinks (const char *pathspec);\n')
                    ('int make_executable (const char *path);\n')
                    ('int check_executable (const char *path);\n')
                    ('char *strendzap (char *str, const char *pat);\n')
                    ('void lt_debugprintf (const char *file, int line, const char *fmt, ...);\n')
                    ('void lt_fatal (const char *file, int line, const char *message, ...);\n')
                    ('static const char *nonnull (const char *s);\n')
                    ('static const char *nonempty (const char *s);\n')
                    ('void lt_setenv (const char *name, const char *value);\n')
                    (
'char *lt_extend_str (const char *orig_value, const char *add, int to_end);\n'
                    )
                    ('void lt_update_exe_path (const char *name, const char *value);\n')
                    ('void lt_update_lib_path (const char *name, const char *value);\n')
                    ('char **prepare_spawn (char **argv);\n')
                    ('void lt_dump_script (FILE *f);\n')
                  ]
                )
              ]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op: <Redir_DLess '<<'>
                  fd: 16777215
                  here_begin: {(EOF)}
                  here_end_span_id: 27452
                  stdin_parts: [
                    ('#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5)\n')
                    ('# define externally_visible volatile\n')
                    ('#else\n')
                    ('# define externally_visible __attribute__((externally_visible)) volatile\n')
                    ('#endif\n')
                    ('externally_visible const char * MAGIC_EXE = ')
                    (Right_DoubleQuote '"')
                    ($ VSub_Name '$magic_exe')
                    (Right_DoubleQuote '"')
                    (';\n')
                    ('const char * LIB_PATH_VARNAME = ')
                    (Right_DoubleQuote '"')
                    ($ VSub_Name '$shlibpath_var')
                    (Right_DoubleQuote '"')
                    (';\n')
                  ]
                )
              ]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DAmp Op_DAmp]
                          children: [
                            (C {(test)} {(yes)} {(Lit_Other '=')} 
                              {(DQ ($ VSub_Name '$shlibpath_overrides_runpath'))}
                            )
                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$shlibpath_var'))})
                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$temp_rpath'))})
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(func_to_host_path)} {(DQ ($ VSub_Name '$temp_rpath'))})
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op: <Redir_DLess '<<'>
                          fd: 16777215
                          here_begin: {(EOF)}
                          here_end_span_id: 27509
                          stdin_parts: [
                            ('const char * LIB_PATH_VALUE   = ')
                            (Right_DoubleQuote '"')
                            ($ VSub_Name '$func_to_host_path_result')
                            (Right_DoubleQuote '"')
                            (';\n')
                          ]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 27488]
                )
              ]
              else_action: [
                (SimpleCommand
                  words: [{(cat)}]
                  redirects: [
                    (HereDoc
                      op: <Redir_DLess '<<'>
                      fd: 16777215
                      here_begin: {(DQ (EOF))}
                      here_end_span_id: 27522
                      stdin_parts: [('const char * LIB_PATH_VALUE   = "";\n')]
                    )
                  ]
                )
              ]
              spids: [27511 27524]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$dllsearchpath'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(func_to_host_path)} {(DQ ($ VSub_Name '$dllsearchpath') (':'))})
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op: <Redir_DLess '<<'>
                          fd: 16777215
                          here_begin: {(EOF)}
                          here_end_span_id: 27566
                          stdin_parts: [
                            ('const char * EXE_PATH_VARNAME = ')
                            (Right_DoubleQuote '"')
                            (PATH)
                            (Right_DoubleQuote '"')
                            (';\n')
                            ('const char * EXE_PATH_VALUE   = ')
                            (Right_DoubleQuote '"')
                            ($ VSub_Name '$func_to_host_path_result')
                            (Right_DoubleQuote '"')
                            (';\n')
                          ]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 27539]
                )
              ]
              else_action: [
                (SimpleCommand
                  words: [{(cat)}]
                  redirects: [
                    (HereDoc
                      op: <Redir_DLess '<<'>
                      fd: 16777215
                      here_begin: {(DQ (EOF))}
                      here_end_span_id: 27580
                      stdin_parts: [
                        ('const char * EXE_PATH_VARNAME = "";\n')
                        ('const char * EXE_PATH_VALUE   = "";\n')
                      ]
                    )
                  ]
                )
              ]
              spids: [27568 27582]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(yes)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$fast_install'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op: <Redir_DLess '<<'>
                          fd: 16777215
                          here_begin: {(EOF)}
                          here_end_span_id: 27614
                          stdin_parts: [
                            ('const char * TARGET_PROGRAM_NAME = ')
                            (Right_DoubleQuote '"')
                            (lt-)
                            ($ VSub_Name '$outputname')
                            (Right_DoubleQuote '"')
                            ('; /* hopefully, no .exe */\n')
                          ]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 27599]
                )
              ]
              else_action: [
                (SimpleCommand
                  words: [{(cat)}]
                  redirects: [
                    (HereDoc
                      op: <Redir_DLess '<<'>
                      fd: 16777215
                      here_begin: {(EOF)}
                      here_end_span_id: 27630
                      stdin_parts: [
                        ('const char * TARGET_PROGRAM_NAME = ')
                        (Right_DoubleQuote '"')
                        ($ VSub_Name '$outputname')
                        (Right_DoubleQuote '"')
                        ('; /* hopefully, no .exe */\n')
                      ]
                    )
                  ]
                )
              ]
              spids: [27616 27632]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op: <Redir_DLess '<<'>
                  fd: 16777215
                  here_begin: {(DQ (EOF))}
                  here_end_span_id: 27677
                  stdin_parts: [
                    ('\n')
                    ('#define LTWRAPPER_OPTION_PREFIX         "--lt-"\n')
                    ('\n')
                    ('static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;\n')
                    (
'static const char *dumpscript_opt       = LTWRAPPER_OPTION_PREFIX "dump-script";\n'
                    )
                    (
'static const char *debug_opt            = LTWRAPPER_OPTION_PREFIX "debug";\n'
                    )
                    ('\n')
                    ('int\n')
                    ('main (int argc, char *argv[])\n')
                    ('{\n')
                    ('  char **newargz;\n')
                    ('  int  newargc;\n')
                    ('  char *tmp_pathspec;\n')
                    ('  char *actual_cwrapper_path;\n')
                    ('  char *actual_cwrapper_name;\n')
                    ('  char *target_name;\n')
                    ('  char *lt_argv_zero;\n')
                    ('  int rval = 127;\n')
                    ('\n')
                    ('  int i;\n')
                    ('\n')
                    ('  program_name = (char *) xstrdup (base_name (argv[0]));\n')
                    ('  newargz = XMALLOC (char *, (size_t) argc + 1);\n')
                    ('\n')
                    ("  /* very simple arg parsing; don't want to rely on getopt\n")
                    ('   * also, copy all non cwrapper options to newargz, except\n')
                    ('   * argz[0], which is handled differently\n')
                    ('   */\n')
                    ('  newargc=0;\n')
                    ('  for (i = 1; i < argc; i++)\n')
                    ('    {\n')
                    ('      if (STREQ (argv[i], dumpscript_opt))\n')
                    ('\t{\n')
                  ]
                )
              ]
            )
            (Case
              to_match: {($ 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: [27686 27696 27710 16777215]
                )
              ]
              spids: [27679 27683 27713]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op: <Redir_DLess '<<'>
                  fd: 16777215
                  here_begin: {(DQ (EOF))}
                  here_end_span_id: 27752
                  stdin_parts: [
                    ('\t  lt_dump_script (stdout);\n')
                    ('\t  return 0;\n')
                    ('\t}\n')
                    ('      if (STREQ (argv[i], debug_opt))\n')
                    ('\t{\n')
                    ('          lt_debug = 1;\n')
                    ('          continue;\n')
                    ('\t}\n')
                    ('      if (STREQ (argv[i], ltwrapper_option_prefix))\n')
                    ('        {\n')
                    (
'          /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX\n'
                    )
                    ('             namespace, but it is not one of the ones we know about and\n')
                    ('             have already dealt with, above (inluding dump-script), then\n')
                    ('             report an error. Otherwise, targets might begin to believe\n')
                    (
'             they are allowed to use options in the LTWRAPPER_OPTION_PREFIX\n'
                    )
                    (
"             namespace. The first time any user complains about this, we'll\n"
                    )
                    ('             need to make LTWRAPPER_OPTION_PREFIX a configure-time option\n')
                    ('             or a configure.ac-settable value.\n')
                    ('           */\n')
                    ('          lt_fatal (__FILE__, __LINE__,\n')
                    ('\t\t    "unrecognized %s option: \'%s\'",\n')
                    ('                    ltwrapper_option_prefix, argv[i]);\n')
                    ('        }\n')
                    ('      /* otherwise ... */\n')
                    ('      newargz[++newargc] = xstrdup (argv[i]);\n')
                    ('    }\n')
                    ('  newargz[++newargc] = NULL;\n')
                    ('\n')
                  ]
                )
              ]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op: <Redir_DLess '<<'>
                  fd: 16777215
                  here_begin: {(EOF)}
                  here_end_span_id: 27771
                  stdin_parts: [
                    ('  /* The GNU banner must be the first non-error debug message */\n')
                    ('  lt_debugprintf (__FILE__, __LINE__, ')
                    (Right_DoubleQuote '"')
                    ('libtool wrapper (GNU ')
                    ($ VSub_Name '$PACKAGE')
                    (') ')
                    ($ VSub_Name '$VERSION')
                    (Lit_Other '\\')
                    (n)
                    (Right_DoubleQuote '"')
                    (');\n')
                  ]
                )
              ]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op: <Redir_DLess '<<'>
                  fd: 16777215
                  here_begin: {(DQ (EOF))}
                  here_end_span_id: 27817
                  stdin_parts: [
                    ('  lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\\n", argv[0]);\n')
                    (
'  lt_debugprintf (__FILE__, __LINE__, "(main) program_name: %s\\n", program_name);\n'
                    )
                    ('\n')
                    ('  tmp_pathspec = find_executable (argv[0]);\n')
                    ('  if (tmp_pathspec == NULL)\n')
                    ('    lt_fatal (__FILE__, __LINE__, "couldn\'t find %s", argv[0]);\n')
                    ('  lt_debugprintf (__FILE__, __LINE__,\n')
                    ('                  "(main) found exe (before symlink chase) at: %s\\n",\n')
                    ('\t\t  tmp_pathspec);\n')
                    ('\n')
                    ('  actual_cwrapper_path = chase_symlinks (tmp_pathspec);\n')
                    ('  lt_debugprintf (__FILE__, __LINE__,\n')
                    ('                  "(main) found exe (after symlink chase) at: %s\\n",\n')
                    ('\t\t  actual_cwrapper_path);\n')
                    ('  XFREE (tmp_pathspec);\n')
                    ('\n')
                    ('  actual_cwrapper_name = xstrdup (base_name (actual_cwrapper_path));\n')
                    ('  strendzap (actual_cwrapper_path, actual_cwrapper_name);\n')
                    ('\n')
                    ('  /* wrapper name transforms */\n')
                    ('  strendzap (actual_cwrapper_name, ".exe");\n')
                    ('  tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);\n')
                    ('  XFREE (actual_cwrapper_name);\n')
                    ('  actual_cwrapper_name = tmp_pathspec;\n')
                    ('  tmp_pathspec = 0;\n')
                    ('\n')
                    (
'  /* target_name transforms -- use actual target program name; might have lt- prefix */\n'
                    )
                    ('  target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));\n')
                    ('  strendzap (target_name, ".exe");\n')
                    ('  tmp_pathspec = lt_extend_str (target_name, ".exe", 1);\n')
                    ('  XFREE (target_name);\n')
                    ('  target_name = tmp_pathspec;\n')
                    ('  tmp_pathspec = 0;\n')
                    ('\n')
                    ('  lt_debugprintf (__FILE__, __LINE__,\n')
                    ('\t\t  "(main) libtool target name: %s\\n",\n')
                    ('\t\t  target_name);\n')
                  ]
                )
              ]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op: <Redir_DLess '<<'>
                  fd: 16777215
                  here_begin: {(EOF)}
                  here_end_span_id: 27844
                  stdin_parts: [
                    ('  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')
                  ]
                )
              ]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op: <Redir_DLess '<<'>
                  fd: 16777215
                  here_begin: {(DQ (EOF))}
                  here_end_span_id: 27864
                  stdin_parts: [
                    ("  /* stop here, and copy so we don't have to do this twice */\n")
                    ('  tmp_pathspec = xstrdup (newargz[0]);\n')
                    ('\n')
                    ('  /* do NOT want the lt- prefix here, so use actual_cwrapper_name */\n')
                    ('  strcat (newargz[0], actual_cwrapper_name);\n')
                    ('\n')
                    ('  /* DO want the lt- prefix here if it exists, so use target_name */\n')
                    ('  lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);\n')
                    ('  XFREE (tmp_pathspec);\n')
                    ('  tmp_pathspec = NULL;\n')
                  ]
                )
              ]
            )
            (Case
              to_match: {($ VSub_Name '$host_os')}
              arms: [
                (case_arm
                  pat_list: [{(mingw) (Lit_Other '*')}]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op: <Redir_DLess '<<'>
                          fd: 16777215
                          here_begin: {(DQ (EOF))}
                          here_end_span_id: 27897
                          stdin_parts: [
                            ('  {\n')
                            ('    char* p;\n')
                            ("    while ((p = strchr (newargz[0], '\\\\')) != NULL)\n")
                            ('      {\n')
                            ("\t*p = '/';\n")
                            ('      }\n')
                            ("    while ((p = strchr (lt_argv_zero, '\\\\')) != NULL)\n")
                            ('      {\n')
                            ("\t*p = '/';\n")
                            ('      }\n')
                            ('  }\n')
                          ]
                        )
                      ]
                    )
                  ]
                  spids: [27874 27876 27899 16777215]
                )
              ]
              spids: [27867 27871 27902]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op: <Redir_DLess '<<'>
                  fd: 16777215
                  here_begin: {(DQ (EOF))}
                  here_end_span_id: 27934
                  stdin_parts: [
                    ('  XFREE (target_name);\n')
                    ('  XFREE (actual_cwrapper_path);\n')
                    ('  XFREE (actual_cwrapper_name);\n')
                    ('\n')
                    ('  lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */\n')
                    ('  lt_setenv ("DUALCASE", "1");  /* for MSK sh */\n')
                    ('  /* Update the DLL searchpath.  EXE_PATH_VALUE ($dllsearchpath) must\n')
                    (
'     be prepended before (that is, appear after) LIB_PATH_VALUE ($temp_rpath)\n'
                    )
                    ('     because on Windows, both *_VARNAMEs are PATH but uninstalled\n')
                    ('     libraries must come first. */\n')
                    ('  lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);\n')
                    ('  lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);\n')
                    ('\n')
                    ('  lt_debugprintf (__FILE__, __LINE__, "(main) lt_argv_zero: %s\\n",\n')
                    ('\t\t  nonnull (lt_argv_zero));\n')
                    ('  for (i = 0; i < newargc; i++)\n')
                    ('    {\n')
                    ('      lt_debugprintf (__FILE__, __LINE__, "(main) newargz[%d]: %s\\n",\n')
                    ('\t\t      i, nonnull (newargz[i]));\n')
                    ('    }\n')
                    ('\n')
                  ]
                )
              ]
            )
            (Case
              to_match: {($ VSub_Name '$host_os')}
              arms: [
                (case_arm
                  pat_list: [{(mingw) (Lit_Other '*')}]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op: <Redir_DLess '<<'>
                          fd: 16777215
                          here_begin: {(DQ (EOF))}
                          here_end_span_id: 27968
                          stdin_parts: [
                            ("  /* execv doesn't actually work on mingw as expected on unix */\n")
                            ('  newargz = prepare_spawn (newargz);\n')
                            (
'  rval = (int) _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);\n'
                            )
                            ('  if (rval == -1)\n')
                            ('    {\n')
                            ('      /* failed to start process */\n')
                            ('      lt_debugprintf (__FILE__, __LINE__,\n')
                            ('\t\t      "(main) failed to launch target \\"%s\\": %s\\n",\n')
                            ('\t\t      lt_argv_zero, nonnull (strerror (errno)));\n')
                            ('      return 127;\n')
                            ('    }\n')
                            ('  return rval;\n')
                          ]
                        )
                      ]
                    )
                  ]
                  spids: [27944 27946 27970 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op: <Redir_DLess '<<'>
                          fd: 16777215
                          here_begin: {(DQ (EOF))}
                          here_end_span_id: 27986
                          stdin_parts: [
                            ('  execv (lt_argv_zero, newargz);\n')
                            ('  return rval; /* =127, but avoids unused variable warning */\n')
                          ]
                        )
                      ]
                    )
                  ]
                  spids: [27973 27974 27988 16777215]
                )
              ]
              spids: [27937 27941 27991]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op: <Redir_DLess '<<'>
                  fd: 16777215
                  here_begin: {(DQ (EOF))}
                  here_end_span_id: 28394
                  stdin_parts: [
                    ('}\n')
                    ('\n')
                    ('void *\n')
                    ('xmalloc (size_t num)\n')
                    ('{\n')
                    ('  void *p = (void *) malloc (num);\n')
                    ('  if (!p)\n')
                    ('    lt_fatal (__FILE__, __LINE__, "memory exhausted");\n')
                    ('\n')
                    ('  return p;\n')
                    ('}\n')
                    ('\n')
                    ('char *\n')
                    ('xstrdup (const char *string)\n')
                    ('{\n')
                    ('  return string ? strcpy ((char *) xmalloc (strlen (string) + 1),\n')
                    ('\t\t\t  string) : NULL;\n')
                    ('}\n')
                    ('\n')
                    ('const char *\n')
                    ('base_name (const char *name)\n')
                    ('{\n')
                    ('  const char *base;\n')
                    ('\n')
                    ('#if defined HAVE_DOS_BASED_FILE_SYSTEM\n')
                    ('  /* Skip over the disk name in MSDOS pathnames. */\n')
                    ("  if (isalpha ((unsigned char) name[0]) && name[1] == ':')\n")
                    ('    name += 2;\n')
                    ('#endif\n')
                    ('\n')
                    ('  for (base = name; *name; name++)\n')
                    ('    if (IS_DIR_SEPARATOR (*name))\n')
                    ('      base = name + 1;\n')
                    ('  return base;\n')
                    ('}\n')
                    ('\n')
                    ('int\n')
                    ('check_executable (const char *path)\n')
                    ('{\n')
                    ('  struct stat st;\n')
                    ('\n')
                    ('  lt_debugprintf (__FILE__, __LINE__, "(check_executable): %s\\n",\n')
                    ('                  nonempty (path));\n')
                    ('  if ((!path) || (!*path))\n')
                    ('    return 0;\n')
                    ('\n')
                    ('  if ((stat (path, &st) >= 0)\n')
                    ('      && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))\n')
                    ('    return 1;\n')
                    ('  else\n')
                    ('    return 0;\n')
                    ('}\n')
                    ('\n')
                    ('int\n')
                    ('make_executable (const char *path)\n')
                    ('{\n')
                    ('  int rval = 0;\n')
                    ('  struct stat st;\n')
                    ('\n')
                    ('  lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\\n",\n')
                    ('                  nonempty (path));\n')
                    ('  if ((!path) || (!*path))\n')
                    ('    return 0;\n')
                    ('\n')
                    ('  if (stat (path, &st) >= 0)\n')
                    ('    {\n')
                    ('      rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);\n')
                    ('    }\n')
                    ('  return rval;\n')
                    ('}\n')
                    ('\n')
                    ('/* Searches for the full path of the wrapper.  Returns\n')
                    ('   newly allocated full path name if found, NULL otherwise\n')
                    ('   Does not chase symlinks, even on platforms that support them.\n')
                    ('*/\n')
                    ('char *\n')
                    ('find_executable (const char *wrapper)\n')
                    ('{\n')
                    ('  int has_slash = 0;\n')
                    ('  const char *p;\n')
                    ('  const char *p_next;\n')
                    ('  /* static buffer for getcwd */\n')
                    ('  char tmp[LT_PATHMAX + 1];\n')
                    ('  size_t tmp_len;\n')
                    ('  char *concat_name;\n')
                    ('\n')
                    ('  lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\\n",\n')
                    ('                  nonempty (wrapper));\n')
                    ('\n')
                    ("  if ((wrapper == NULL) || (*wrapper == '\\0'))\n")
                    ('    return NULL;\n')
                    ('\n')
                    ('  /* Absolute path? */\n')
                    ('#if defined HAVE_DOS_BASED_FILE_SYSTEM\n')
                    ("  if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')\n")
                    ('    {\n')
                    ('      concat_name = xstrdup (wrapper);\n')
                    ('      if (check_executable (concat_name))\n')
                    ('\treturn concat_name;\n')
                    ('      XFREE (concat_name);\n')
                    ('    }\n')
                    ('  else\n')
                    ('    {\n')
                    ('#endif\n')
                    ('      if (IS_DIR_SEPARATOR (wrapper[0]))\n')
                    ('\t{\n')
                    ('\t  concat_name = xstrdup (wrapper);\n')
                    ('\t  if (check_executable (concat_name))\n')
                    ('\t    return concat_name;\n')
                    ('\t  XFREE (concat_name);\n')
                    ('\t}\n')
                    ('#if defined HAVE_DOS_BASED_FILE_SYSTEM\n')
                    ('    }\n')
                    ('#endif\n')
                    ('\n')
                    ('  for (p = wrapper; *p; p++)\n')
                    ("    if (*p == '/')\n")
                    ('      {\n')
                    ('\thas_slash = 1;\n')
                    ('\tbreak;\n')
                    ('      }\n')
                    ('  if (!has_slash)\n')
                    ('    {\n')
                    ('      /* no slashes; search PATH */\n')
                    ('      const char *path = getenv ("PATH");\n')
                    ('      if (path != NULL)\n')
                    ('\t{\n')
                    ('\t  for (p = path; *p; p = p_next)\n')
                    ('\t    {\n')
                    ('\t      const char *q;\n')
                    ('\t      size_t p_len;\n')
                    ('\t      for (q = p; *q; q++)\n')
                    ('\t\tif (IS_PATH_SEPARATOR (*q))\n')
                    ('\t\t  break;\n')
                    ('\t      p_len = (size_t) (q - p);\n')
                    ("\t      p_next = (*q == '\\0' ? q : q + 1);\n")
                    ('\t      if (p_len == 0)\n')
                    ('\t\t{\n')
                    ('\t\t  /* empty path: current directory */\n')
                    ('\t\t  if (getcwd (tmp, LT_PATHMAX) == NULL)\n')
                    ('\t\t    lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",\n')
                    ('                              nonnull (strerror (errno)));\n')
                    ('\t\t  tmp_len = strlen (tmp);\n')
                    ('\t\t  concat_name =\n')
                    ('\t\t    XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);\n')
                    ('\t\t  memcpy (concat_name, tmp, tmp_len);\n')
                    ("\t\t  concat_name[tmp_len] = '/';\n")
                    ('\t\t  strcpy (concat_name + tmp_len + 1, wrapper);\n')
                    ('\t\t}\n')
                    ('\t      else\n')
                    ('\t\t{\n')
                    ('\t\t  concat_name =\n')
                    ('\t\t    XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);\n')
                    ('\t\t  memcpy (concat_name, p, p_len);\n')
                    ("\t\t  concat_name[p_len] = '/';\n")
                    ('\t\t  strcpy (concat_name + p_len + 1, wrapper);\n')
                    ('\t\t}\n')
                    ('\t      if (check_executable (concat_name))\n')
                    ('\t\treturn concat_name;\n')
                    ('\t      XFREE (concat_name);\n')
                    ('\t    }\n')
                    ('\t}\n')
                    ('      /* not found in PATH; assume curdir */\n')
                    ('    }\n')
                    ('  /* Relative path | not found in path: prepend cwd */\n')
                    ('  if (getcwd (tmp, LT_PATHMAX) == NULL)\n')
                    ('    lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",\n')
                    ('              nonnull (strerror (errno)));\n')
                    ('  tmp_len = strlen (tmp);\n')
                    ('  concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);\n')
                    ('  memcpy (concat_name, tmp, tmp_len);\n')
                    ("  concat_name[tmp_len] = '/';\n")
                    ('  strcpy (concat_name + tmp_len + 1, wrapper);\n')
                    ('\n')
                    ('  if (check_executable (concat_name))\n')
                    ('    return concat_name;\n')
                    ('  XFREE (concat_name);\n')
                    ('  return NULL;\n')
                    ('}\n')
                    ('\n')
                    ('char *\n')
                    ('chase_symlinks (const char *pathspec)\n')
                    ('{\n')
                    ('#ifndef S_ISLNK\n')
                    ('  return xstrdup (pathspec);\n')
                    ('#else\n')
                    ('  char buf[LT_PATHMAX];\n')
                    ('  struct stat s;\n')
                    ('  char *tmp_pathspec = xstrdup (pathspec);\n')
                    ('  char *p;\n')
                    ('  int has_symlinks = 0;\n')
                    ('  while (strlen (tmp_pathspec) && !has_symlinks)\n')
                    ('    {\n')
                    ('      lt_debugprintf (__FILE__, __LINE__,\n')
                    ('\t\t      "checking path component for symlinks: %s\\n",\n')
                    ('\t\t      tmp_pathspec);\n')
                    ('      if (lstat (tmp_pathspec, &s) == 0)\n')
                    ('\t{\n')
                    ('\t  if (S_ISLNK (s.st_mode) != 0)\n')
                    ('\t    {\n')
                    ('\t      has_symlinks = 1;\n')
                    ('\t      break;\n')
                    ('\t    }\n')
                    ('\n')
                    ('\t  /* search backwards for last DIR_SEPARATOR */\n')
                    ('\t  p = tmp_pathspec + strlen (tmp_pathspec) - 1;\n')
                    ('\t  while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))\n')
                    ('\t    p--;\n')
                    ('\t  if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))\n')
                    ('\t    {\n')
                    ('\t      /* no more DIR_SEPARATORS left */\n')
                    ('\t      break;\n')
                    ('\t    }\n')
                    ("\t  *p = '\\0';\n")
                    ('\t}\n')
                    ('      else\n')
                    ('\t{\n')
                    ('\t  lt_fatal (__FILE__, __LINE__,\n')
                    ('\t\t    "error accessing file \\"%s\\": %s",\n')
                    ('\t\t    tmp_pathspec, nonnull (strerror (errno)));\n')
                    ('\t}\n')
                    ('    }\n')
                    ('  XFREE (tmp_pathspec);\n')
                    ('\n')
                    ('  if (!has_symlinks)\n')
                    ('    {\n')
                    ('      return xstrdup (pathspec);\n')
                    ('    }\n')
                    ('\n')
                    ('  tmp_pathspec = realpath (pathspec, buf);\n')
                    ('  if (tmp_pathspec == 0)\n')
                    ('    {\n')
                    ('      lt_fatal (__FILE__, __LINE__,\n')
                    ('\t\t"could not follow symlinks for %s", pathspec);\n')
                    ('    }\n')
                    ('  return xstrdup (tmp_pathspec);\n')
                    ('#endif\n')
                    ('}\n')
                    ('\n')
                    ('char *\n')
                    ('strendzap (char *str, const char *pat)\n')
                    ('{\n')
                    ('  size_t len, patlen;\n')
                    ('\n')
                    ('  assert (str != NULL);\n')
                    ('  assert (pat != NULL);\n')
                    ('\n')
                    ('  len = strlen (str);\n')
                    ('  patlen = strlen (pat);\n')
                    ('\n')
                    ('  if (patlen <= len)\n')
                    ('    {\n')
                    ('      str += len - patlen;\n')
                    ('      if (STREQ (str, pat))\n')
                    ("\t*str = '\\0';\n")
                    ('    }\n')
                    ('  return str;\n')
                    ('}\n')
                    ('\n')
                    ('void\n')
                    ('lt_debugprintf (const char *file, int line, const char *fmt, ...)\n')
                    ('{\n')
                    ('  va_list args;\n')
                    ('  if (lt_debug)\n')
                    ('    {\n')
                    ('      (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line);\n')
                    ('      va_start (args, fmt);\n')
                    ('      (void) vfprintf (stderr, fmt, args);\n')
                    ('      va_end (args);\n')
                    ('    }\n')
                    ('}\n')
                    ('\n')
                    ('static void\n')
                    ('lt_error_core (int exit_status, const char *file,\n')
                    ('\t       int line, const char *mode,\n')
                    ('\t       const char *message, va_list ap)\n')
                    ('{\n')
                    ('  fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode);\n')
                    ('  vfprintf (stderr, message, ap);\n')
                    ('  fprintf (stderr, ".\\n");\n')
                    ('\n')
                    ('  if (exit_status >= 0)\n')
                    ('    exit (exit_status);\n')
                    ('}\n')
                    ('\n')
                    ('void\n')
                    ('lt_fatal (const char *file, int line, const char *message, ...)\n')
                    ('{\n')
                    ('  va_list ap;\n')
                    ('  va_start (ap, message);\n')
                    ('  lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap);\n')
                    ('  va_end (ap);\n')
                    ('}\n')
                    ('\n')
                    ('static const char *\n')
                    ('nonnull (const char *s)\n')
                    ('{\n')
                    ('  return s ? s : "(null)";\n')
                    ('}\n')
                    ('\n')
                    ('static const char *\n')
                    ('nonempty (const char *s)\n')
                    ('{\n')
                    ('  return (s && !*s) ? "(empty)" : nonnull (s);\n')
                    ('}\n')
                    ('\n')
                    ('void\n')
                    ('lt_setenv (const char *name, const char *value)\n')
                    ('{\n')
                    ('  lt_debugprintf (__FILE__, __LINE__,\n')
                    ('\t\t  "(lt_setenv) setting \'%s\' to \'%s\'\\n",\n')
                    ('                  nonnull (name), nonnull (value));\n')
                    ('  {\n')
                    ('#ifdef HAVE_SETENV\n')
                    ('    /* always make a copy, for consistency with !HAVE_SETENV */\n')
                    ('    char *str = xstrdup (value);\n')
                    ('    setenv (name, str, 1);\n')
                    ('#else\n')
                    ('    size_t len = strlen (name) + 1 + strlen (value) + 1;\n')
                    ('    char *str = XMALLOC (char, len);\n')
                    ('    sprintf (str, "%s=%s", name, value);\n')
                    ('    if (putenv (str) != EXIT_SUCCESS)\n')
                    ('      {\n')
                    ('        XFREE (str);\n')
                    ('      }\n')
                    ('#endif\n')
                    ('  }\n')
                    ('}\n')
                    ('\n')
                    ('char *\n')
                    ('lt_extend_str (const char *orig_value, const char *add, int to_end)\n')
                    ('{\n')
                    ('  char *new_value;\n')
                    ('  if (orig_value && *orig_value)\n')
                    ('    {\n')
                    ('      size_t orig_value_len = strlen (orig_value);\n')
                    ('      size_t add_len = strlen (add);\n')
                    ('      new_value = XMALLOC (char, add_len + orig_value_len + 1);\n')
                    ('      if (to_end)\n')
                    ('        {\n')
                    ('          strcpy (new_value, orig_value);\n')
                    ('          strcpy (new_value + orig_value_len, add);\n')
                    ('        }\n')
                    ('      else\n')
                    ('        {\n')
                    ('          strcpy (new_value, add);\n')
                    ('          strcpy (new_value + add_len, orig_value);\n')
                    ('        }\n')
                    ('    }\n')
                    ('  else\n')
                    ('    {\n')
                    ('      new_value = xstrdup (add);\n')
                    ('    }\n')
                    ('  return new_value;\n')
                    ('}\n')
                    ('\n')
                    ('void\n')
                    ('lt_update_exe_path (const char *name, const char *value)\n')
                    ('{\n')
                    ('  lt_debugprintf (__FILE__, __LINE__,\n')
                    ('\t\t  "(lt_update_exe_path) modifying \'%s\' by prepending \'%s\'\\n",\n')
                    ('                  nonnull (name), nonnull (value));\n')
                    ('\n')
                    ('  if (name && *name && value && *value)\n')
                    ('    {\n')
                    ('      char *new_value = lt_extend_str (getenv (name), value, 0);\n')
                    ("      /* some systems can't cope with a ':'-terminated path #' */\n")
                    ('      size_t len = strlen (new_value);\n')
                    ('      while ((len > 0) && IS_PATH_SEPARATOR (new_value[len-1]))\n')
                    ('        {\n')
                    ("          new_value[--len] = '\\0';\n")
                    ('        }\n')
                    ('      lt_setenv (name, new_value);\n')
                    ('      XFREE (new_value);\n')
                    ('    }\n')
                    ('}\n')
                    ('\n')
                    ('void\n')
                    ('lt_update_lib_path (const char *name, const char *value)\n')
                    ('{\n')
                    ('  lt_debugprintf (__FILE__, __LINE__,\n')
                    ('\t\t  "(lt_update_lib_path) modifying \'%s\' by prepending \'%s\'\\n",\n')
                    ('                  nonnull (name), nonnull (value));\n')
                    ('\n')
                    ('  if (name && *name && value && *value)\n')
                    ('    {\n')
                    ('      char *new_value = lt_extend_str (getenv (name), value, 0);\n')
                    ('      lt_setenv (name, new_value);\n')
                    ('      XFREE (new_value);\n')
                    ('    }\n')
                    ('}\n')
                    ('\n')
                  ]
                )
              ]
            )
            (Case
              to_match: {($ VSub_Name '$host_os')}
              arms: [
                (case_arm
                  pat_list: [{(mingw) (Lit_Other '*')}]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op: <Redir_DLess '<<'>
                          fd: 16777215
                          here_begin: {(DQ (EOF))}
                          here_end_span_id: 28528
                          stdin_parts: [
                            ('\n')
                            ('/* Prepares an argument vector before calling spawn().\n')
                            (
'   Note that spawn() does not by itself call the command interpreter\n'
                            )
                            ('     (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") :\n')
                            (
'      ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);\n'
                            )
                            ('         GetVersionEx(&v);\n')
                            ('         v.dwPlatformId == VER_PLATFORM_WIN32_NT;\n')
                            ('      }) ? "cmd.exe" : "command.com").\n')
                            (
"   Instead it simply concatenates the arguments, separated by ' ', and calls\n"
                            )
                            (
'   CreateProcess().  We must quote the arguments since Win32 CreateProcess()\n'
                            )
                            (
'   interprets characters like \' \', \'\\t\', \'\\\\\', \'"\' (but not \'<\' and \'>\') in a\n'
                            )
                            ('   special way:\n')
                            (
'   - Space and tab are interpreted as delimiters. They are not treated as\n'
                            )
                            ('     delimiters if they are surrounded by double quotes: "...".\n')
                            (
'   - Unescaped double quotes are removed from the input. Their only effect is\n'
                            )
                            (
'     that within double quotes, space and tab are treated like normal\n'
                            )
                            ('     characters.\n')
                            ('   - Backslashes not followed by double quotes are not special.\n')
                            ('   - But 2*n+1 backslashes followed by a double quote become\n')
                            ('     n backslashes followed by a double quote (n >= 0):\n')
                            ('       \\" -> "\n')
                            ('       \\\\\\" -> \\"\n')
                            ('       \\\\\\\\\\" -> \\\\"\n')
                            (' */\n')
                            (
'#define SHELL_SPECIAL_CHARS "\\"\\\\ \\001\\002\\003\\004\\005\\006\\007\\010\\011\\012\\013\\014\\015\\016\\017\\020\\021\\022\\023\\024\\025\\026\\027\\030\\031\\032\\033\\034\\035\\036\\037"\n'
                            )
                            (
'#define SHELL_SPACE_CHARS " \\001\\002\\003\\004\\005\\006\\007\\010\\011\\012\\013\\014\\015\\016\\017\\020\\021\\022\\023\\024\\025\\026\\027\\030\\031\\032\\033\\034\\035\\036\\037"\n'
                            )
                            ('char **\n')
                            ('prepare_spawn (char **argv)\n')
                            ('{\n')
                            ('  size_t argc;\n')
                            ('  char **new_argv;\n')
                            ('  size_t i;\n')
                            ('\n')
                            ('  /* Count number of arguments.  */\n')
                            ('  for (argc = 0; argv[argc] != NULL; argc++)\n')
                            ('    ;\n')
                            ('\n')
                            ('  /* Allocate new argument vector.  */\n')
                            ('  new_argv = XMALLOC (char *, argc + 1);\n')
                            ('\n')
                            ('  /* Put quoted arguments into the new argument vector.  */\n')
                            ('  for (i = 0; i < argc; i++)\n')
                            ('    {\n')
                            ('      const char *string = argv[i];\n')
                            ('\n')
                            ("      if (string[0] == '\\0')\n")
                            ('\tnew_argv[i] = xstrdup ("\\"\\"");\n')
                            ('      else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL)\n')
                            ('\t{\n')
                            (
'\t  int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL);\n'
                            )
                            ('\t  size_t length;\n')
                            ('\t  unsigned int backslashes;\n')
                            ('\t  const char *s;\n')
                            ('\t  char *quoted_string;\n')
                            ('\t  char *p;\n')
                            ('\n')
                            ('\t  length = 0;\n')
                            ('\t  backslashes = 0;\n')
                            ('\t  if (quote_around)\n')
                            ('\t    length++;\n')
                            ("\t  for (s = string; *s != '\\0'; s++)\n")
                            ('\t    {\n')
                            ('\t      char c = *s;\n')
                            ('\t      if (c == \'"\')\n')
                            ('\t\tlength += backslashes + 1;\n')
                            ('\t      length++;\n')
                            ("\t      if (c == '\\\\')\n")
                            ('\t\tbackslashes++;\n')
                            ('\t      else\n')
                            ('\t\tbackslashes = 0;\n')
                            ('\t    }\n')
                            ('\t  if (quote_around)\n')
                            ('\t    length += backslashes + 1;\n')
                            ('\n')
                            ('\t  quoted_string = XMALLOC (char, length + 1);\n')
                            ('\n')
                            ('\t  p = quoted_string;\n')
                            ('\t  backslashes = 0;\n')
                            ('\t  if (quote_around)\n')
                            ('\t    *p++ = \'"\';\n')
                            ("\t  for (s = string; *s != '\\0'; s++)\n")
                            ('\t    {\n')
                            ('\t      char c = *s;\n')
                            ('\t      if (c == \'"\')\n')
                            ('\t\t{\n')
                            ('\t\t  unsigned int j;\n')
                            ('\t\t  for (j = backslashes + 1; j > 0; j--)\n')
                            ("\t\t    *p++ = '\\\\';\n")
                            ('\t\t}\n')
                            ('\t      *p++ = c;\n')
                            ("\t      if (c == '\\\\')\n")
                            ('\t\tbackslashes++;\n')
                            ('\t      else\n')
                            ('\t\tbackslashes = 0;\n')
                            ('\t    }\n')
                            ('\t  if (quote_around)\n')
                            ('\t    {\n')
                            ('\t      unsigned int j;\n')
                            ('\t      for (j = backslashes; j > 0; j--)\n')
                            ("\t\t*p++ = '\\\\';\n")
                            ('\t      *p++ = \'"\';\n')
                            ('\t    }\n')
                            ("\t  *p = '\\0';\n")
                            ('\n')
                            ('\t  new_argv[i] = quoted_string;\n')
                            ('\t}\n')
                            ('      else\n')
                            ('\tnew_argv[i] = (char *) string;\n')
                            ('    }\n')
                            ('  new_argv[argc] = NULL;\n')
                            ('\n')
                            ('  return new_argv;\n')
                            ('}\n')
                          ]
                        )
                      ]
                    )
                  ]
                  spids: [28403 28405 28530 16777215]
                )
              ]
              spids: [28396 28400 28533]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op: <Redir_DLess '<<'>
                  fd: 16777215
                  here_begin: {(DQ (EOF))}
                  here_end_span_id: 28546
                  stdin_parts: [('void lt_dump_script (FILE* f)\n') ('{\n')]
                )
              ]
            )
            (Pipeline
              children: [
                (C {(func_emit_wrapper)} {(yes)})
                (C {($ VSub_Name '$SED')} {(-n)} {(-e)} 
                  {
                    (SQ <'\n'> <'s/^\\(.\\{79\\}\\)\\(..*\\)/\\1\\\n'> <'\\2/\n'> <'h\n'> 
                      <'s/\\([\\\\"]\\)/\\\\\\1/g\n'> <'s/$/\\\\n/\n'> <'s/\\([^\\n]*\\).*/  fputs ("\\1", f);/p\n'> <'g\n'> <D>
                    )
                  }
                )
              ]
              negated: F
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op: <Redir_DLess '<<'>
                  fd: 16777215
                  here_begin: {(DQ (EOF))}
                  here_end_span_id: 28582
                  stdin_parts: [('}\n')]
                )
              ]
            )
          ]
          spids: [27241]
        )
      spids: [27236 27240]
    )
    (FuncDef
      name: func_win32_import_lib_p
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (Case
              to_match: 
                {
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (Pipeline
                            children: [
                              (SimpleCommand
                                words: [
                                  {(eval)}
                                  {($ VSub_Name '$file_magic_cmd')}
                                  {(EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                    (EscapedLiteralPart
                                      token: <Lit_EscapedChar '\\$'>
                                    ) (1) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                  }
                                ]
                                redirects: [(Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})]
                              )
                              (C {($ VSub_Name '$SED')} {(-e)} {(10q)})
                            ]
                            negated: F
                          )
                        ]
                      )
                    left_token: <Left_Backtick '`'>
                    spids: [28609 28629]
                  )
                }
              arms: [
                (case_arm
                  pat_list: [{(Lit_Other '*') (import) (Lit_Other '*')}]
                  action: [(C {(Lit_Other ':')})]
                  spids: [28634 28637 28641 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [(C {(false)})]
                  spids: [28644 28645 28649 16777215]
                )
              ]
              spids: [28607 28631 28652]
            )
          ]
          spids: [28600]
        )
      spids: [28595 28599]
    )
    (FuncDef
      name: func_suncc_cstd_abi
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (Case
              to_match: {(DQ (' ') ($ VSub_Name '$compile_command') (' '))}
              arms: [
                (case_arm
                  pat_list: [
                    {(Lit_Other '*') (DQ (' -compat=g ')) (Lit_Other '*')}
                    {(Lit_Other '*') (EscapedLiteralPart token:<Lit_EscapedChar '\\ '>) (-std) 
                      (Lit_Other '=') (c) (Lit_Other '+') (Lit_Other '+') (Lit_Other '[') (0-9) (Lit_Other ']') (Lit_Other '[') (0-9) 
                      (Lit_Other ']') (EscapedLiteralPart token:<Lit_EscapedChar '\\ '>) (Lit_Other '*')
                    }
                    {(Lit_Other '*') (DQ (' -library=stdcxx4 ')) (Lit_Other '*')}
                    {(Lit_Other '*') (DQ (' -library=stlport4 ')) (Lit_Other '*')}
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:suncc_use_cstd_abi)
                          op: Equal
                          rhs: {(no)}
                          spids: [28728]
                        )
                      ]
                      spids: [28728]
                    )
                  ]
                  spids: [28692 28725 28732 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:suncc_use_cstd_abi)
                          op: Equal
                          rhs: {(yes)}
                          spids: [28739]
                        )
                      ]
                      spids: [28739]
                    )
                  ]
                  spids: [28735 28736 28743 16777215]
                )
              ]
              spids: [28681 28689 28746]
            )
          ]
          spids: [28674]
        )
      spids: [28669 28673]
    )
    (FuncDef
      name: func_mode_link
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (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: [28852]
                        )
                      ]
                      spids: [28852]
                    )
                  ]
                  spids: [28773 28808 28856 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:allow_undefined)
                          op: Equal
                          rhs: {(yes)}
                          spids: [28863]
                        )
                      ]
                      spids: [28863]
                    )
                  ]
                  spids: [28859 28860 28867 16777215]
                )
              ]
              spids: [28766 28770 28870]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libtool_args)
                  op: Equal
                  rhs: {($ VSub_Name '$nonopt')}
                  spids: [28873]
                )
              ]
              spids: [28873]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:base_compile)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$nonopt') (' ') ($ VSub_At '$@'))}
                  spids: [28877]
                )
              ]
              spids: [28877]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compile_command)
                  op: Equal
                  rhs: {($ VSub_Name '$nonopt')}
                  spids: [28885]
                )
              ]
              spids: [28885]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:finalize_command)
                  op: Equal
                  rhs: {($ VSub_Name '$nonopt')}
                  spids: [28889]
                )
              ]
              spids: [28889]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compile_rpath)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28894]
                )
              ]
              spids: [28894]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:finalize_rpath)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28897]
                )
              ]
              spids: [28897]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compile_shlibpath)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28900]
                )
              ]
              spids: [28900]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:finalize_shlibpath)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28903]
                )
              ]
              spids: [28903]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:convenience)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28906]
                )
              ]
              spids: [28906]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:old_convenience)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28909]
                )
              ]
              spids: [28909]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:deplibs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28912]
                )
              ]
              spids: [28912]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:old_deplibs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28915]
                )
              ]
              spids: [28915]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compiler_flags)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28918]
                )
              ]
              spids: [28918]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:linker_flags)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28921]
                )
              ]
              spids: [28921]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:dllsearchpath)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28924]
                )
              ]
              spids: [28924]
            )
            (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: [28928 28930]
                      )
                    }
                  spids: [28927]
                )
              ]
              spids: [28927]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:inst_prefix_dir)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28933]
                )
              ]
              spids: [28933]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:new_inherited_linker_flags)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28936]
                )
              ]
              spids: [28936]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:avoid_version)
                  op: Equal
                  rhs: {(no)}
                  spids: [28940]
                )
              ]
              spids: [28940]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:bindir)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28944]
                )
              ]
              spids: [28944]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:dlfiles)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28947]
                )
              ]
              spids: [28947]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:dlprefiles)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28950]
                )
              ]
              spids: [28950]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:dlself) op:Equal rhs:{(no)} spids:[28953])]
              spids: [28953]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:export_dynamic)
                  op: Equal
                  rhs: {(no)}
                  spids: [28957]
                )
              ]
              spids: [28957]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:export_symbols)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28961]
                )
              ]
              spids: [28961]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:export_symbols_regex)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28964]
                )
              ]
              spids: [28964]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:generated)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28967]
                )
              ]
              spids: [28967]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libobjs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28970]
                )
              ]
              spids: [28970]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ltlibs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28973]
                )
              ]
              spids: [28973]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:module) op:Equal rhs:{(no)} spids:[28976])]
              spids: [28976]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:no_install) op:Equal rhs:{(no)} spids:[28980])]
              spids: [28980]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:objs) op:Equal rhs:{(EmptyPart)} spids:[28984])]
              spids: [28984]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:os2dllname)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28987]
                )
              ]
              spids: [28987]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:non_pic_objects)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28990]
                )
              ]
              spids: [28990]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:precious_files_regex)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28993]
                )
              ]
              spids: [28993]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:prefer_static_libs)
                  op: Equal
                  rhs: {(no)}
                  spids: [28996]
                )
              ]
              spids: [28996]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:preload) op:Equal rhs:{(false)} spids:[29000])]
              spids: [29000]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:prev) op:Equal rhs:{(EmptyPart)} spids:[29004])]
              spids: [29004]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:prevarg)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [29007]
                )
              ]
              spids: [29007]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:release)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [29010]
                )
              ]
              spids: [29010]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:rpath) op:Equal rhs:{(EmptyPart)} spids:[29013])]
              spids: [29013]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:xrpath)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [29016]
                )
              ]
              spids: [29016]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:perm_rpath)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [29019]
                )
              ]
              spids: [29019]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:temp_rpath)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [29022]
                )
              ]
              spids: [29022]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:thread_safe) op:Equal rhs:{(no)} spids:[29025])]
              spids: [29025]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:vinfo) op:Equal rhs:{(EmptyPart)} spids:[29029])]
              spids: [29029]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:vinfo_number) op:Equal rhs:{(no)} spids:[29032])]
              spids: [29032]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:weak_libs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [29036]
                )
              ]
              spids: [29036]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:single_module)
                  op: Equal
                  rhs: {($ VSub_Name '$wl') (-single_module)}
                  spids: [29039]
                )
              ]
              spids: [29039]
            )
            (C {(func_infer_tag)} {($ VSub_Name '$base_compile')})
            (ForEach
              iter_name: arg
              do_arg_iter: T
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name '$arg')}
                      arms: [
                        (case_arm
                          pat_list: [{(-shared)}]
                          action: [
                            (AndOr
                              ops: [Op_DAmp]
                              children: [
                                (C {(test)} {(yes)} {(KW_Bang '!') (Lit_Other '=')} 
                                  {(DQ ($ VSub_Name '$build_libtool_libs'))}
                                )
                                (C {(func_fatal_configuration)} {(DQ ('cannot build a shared library'))})
                              ]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_old_libs)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [29095]
                                )
                              ]
                              spids: [29095]
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [29069 29070 29102 16777215]
                        )
                        (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
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(yes)} {(Lit_Other '=')} 
                                                      {(DQ ($ VSub_Name '$build_libtool_libs'))}
                                                    )
                                                    (C {(test)} {(-z)} 
                                                      {(DQ ($ VSub_Name '$link_static_flag'))}
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_warning)} 
                                              {
                                                (DQ 
                                                  (
'complete static linking is impossible in this configuration'
                                                  )
                                                )
                                              }
                                            )
                                          ]
                                          spids: [16777215 29151]
                                        )
                                      ]
                                      spids: [16777215 29161]
                                    )
                                    (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: [29178]
                                                )
                                              ]
                                              spids: [29178]
                                            )
                                          ]
                                          spids: [16777215 29175]
                                        )
                                      ]
                                      spids: [16777215 29182]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prefer_static_libs)
                                          op: Equal
                                          rhs: {(yes)}
                                          spids: [29185]
                                        )
                                      ]
                                      spids: [29185]
                                    )
                                  ]
                                  spids: [29124 29125 29189 16777215]
                                )
                                (case_arm
                                  pat_list: [{(-static)}]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(-z)} {(DQ ($ VSub_Name '$pic_flag'))})
                                                    (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: [29220]
                                                )
                                              ]
                                              spids: [29220]
                                            )
                                          ]
                                          spids: [16777215 29217]
                                        )
                                      ]
                                      spids: [16777215 29224]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prefer_static_libs)
                                          op: Equal
                                          rhs: {(built)}
                                          spids: [29227]
                                        )
                                      ]
                                      spids: [29227]
                                    )
                                  ]
                                  spids: [29192 29193 29231 16777215]
                                )
                                (case_arm
                                  pat_list: [{(-static-libtool-libs)}]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(-z)} {(DQ ($ VSub_Name '$pic_flag'))})
                                                    (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: [29262]
                                                )
                                              ]
                                              spids: [29262]
                                            )
                                          ]
                                          spids: [16777215 29259]
                                        )
                                      ]
                                      spids: [16777215 29266]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prefer_static_libs)
                                          op: Equal
                                          rhs: {(yes)}
                                          spids: [29269]
                                        )
                                      ]
                                      spids: [29269]
                                    )
                                  ]
                                  spids: [29234 29235 29273 16777215]
                                )
                              ]
                              spids: [29117 29121 29276]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_libtool_libs)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [29279]
                                )
                              ]
                              spids: [29279]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_old_libs)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [29283]
                                )
                              ]
                              spids: [29283]
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [29105 29114 29290 16777215]
                        )
                      ]
                      spids: [29062 29066 29293]
                    )
                  ]
                  spids: [29059 29296]
                )
              spids: [16777215 16777215]
            )
            (AndOr
              ops: [Op_DAmp]
              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: [29314]
                    )
                  ]
                  spids: [29314]
                )
              ]
            )
            (WhileUntil
              keyword: <KW_While 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: {($ VSub_Number '$1')}
                          spids: [29339]
                        )
                      ]
                      spids: [29339]
                    )
                    (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: [29353]
                        )
                      ]
                      spids: [29353]
                    )
                    (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: [29393 29394 29415 16777215]
                                )
                              ]
                              spids: [29386 29390 29418]
                            )
                            (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: {($ VSub_Name '$arg')}
                                          spids: [29433]
                                        )
                                      ]
                                      spids: [29433]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [29437]
                                        )
                                      ]
                                      spids: [29437]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [29429 29430 29443 16777215]
                                )
                                (case_arm
                                  pat_list: [{(dlfiles)} {(dlprefiles)}]
                                  action: [
                                    (AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {($ VSub_Name '$preload')})
                                        (BraceGroup
                                          children: [
                                            (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: {(Lit_Other ':')}
                                                  spids: [29481]
                                                )
                                              ]
                                              spids: [29481]
                                            )
                                          ]
                                          spids: [29456]
                                        )
                                      ]
                                    )
                                    (Case
                                      to_match: {($ VSub_Name '$arg')}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(Lit_Other '*') (.la)} {(Lit_Other '*') (.lo)}]
                                          spids: [29495 29502 29504 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(force)}]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(no)} {(Lit_Other '=')} 
                                                          {(DQ ($ VSub_Name '$dlself'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:dlself)
                                                          op: Equal
                                                          rhs: {(needless)}
                                                          spids: [29530]
                                                        )
                                                      ]
                                                      spids: [29530]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:export_dynamic)
                                                          op: Equal
                                                          rhs: {(yes)}
                                                          spids: [29534]
                                                        )
                                                      ]
                                                      spids: [29534]
                                                    )
                                                  ]
                                                  spids: [16777215 29527]
                                                )
                                              ]
                                              spids: [16777215 29538]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:prev)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [29541]
                                                )
                                              ]
                                              spids: [29541]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [29510 29511 29547 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(self)}]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(dlprefiles)} {(Lit_Other '=')} 
                                                          {(DQ ($ VSub_Name '$prev'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:dlself)
                                                          op: Equal
                                                          rhs: {(yes)}
                                                          spids: [29570]
                                                        )
                                                      ]
                                                      spids: [29570]
                                                    )
                                                  ]
                                                  spids: [16777215 29567]
                                                )
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (AndOr
                                                          ops: [Op_DAmp]
                                                          children: [
                                                            (C {(test)} {(dlfiles)} {(Lit_Other '=')} 
                                                              {(DQ ($ VSub_Name '$prev'))}
                                                            )
                                                            (C {(test)} {(yes)} 
                                                              {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$dlopen_self'))}
                                                            )
                                                          ]
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:dlself)
                                                          op: Equal
                                                          rhs: {(yes)}
                                                          spids: [29603]
                                                        )
                                                      ]
                                                      spids: [29603]
                                                    )
                                                  ]
                                                  spids: [29574 29600]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:dlself)
                                                      op: Equal
                                                      rhs: {(needless)}
                                                      spids: [29610]
                                                    )
                                                  ]
                                                  spids: [29610]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:export_dynamic)
                                                      op: Equal
                                                      rhs: {(yes)}
                                                      spids: [29614]
                                                    )
                                                  ]
                                                  spids: [29614]
                                                )
                                              ]
                                              spids: [29607 29618]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:prev)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [29621]
                                                )
                                              ]
                                              spids: [29621]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [29550 29551 29627 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(dlfiles)} {(Lit_Other '=')} 
                                                          {(DQ ($ VSub_Name '$prev'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_append)} {(dlfiles)} 
                                                      {(DQ (' ') ($ VSub_Name '$arg'))}
                                                    )
                                                  ]
                                                  spids: [16777215 29647]
                                                )
                                              ]
                                              else_action: [
                                                (C {(func_append)} {(dlprefiles)} 
                                                  {(DQ (' ') ($ VSub_Name '$arg'))}
                                                )
                                              ]
                                              spids: [29660 29673]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:prev)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [29676]
                                                )
                                              ]
                                              spids: [29676]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [29630 29631 29682 16777215]
                                        )
                                      ]
                                      spids: [29488 29492 29685]
                                    )
                                  ]
                                  spids: [29446 29449 29688 16777215]
                                )
                                (case_arm
                                  pat_list: [{(expsyms)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:export_symbols)
                                          op: Equal
                                          rhs: {($ VSub_Name '$arg')}
                                          spids: [29695]
                                        )
                                      ]
                                      spids: [29695]
                                    )
                                    (AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {(test)} {(-f)} {(DQ ($ VSub_Name '$arg'))})
                                        (C {(func_fatal_error)} 
                                          {
                                            (DQ ("symbol file '") ($ VSub_Name '$arg') 
                                              ("' does not exist")
                                            )
                                          }
                                        )
                                      ]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [29720]
                                        )
                                      ]
                                      spids: [29720]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [29691 29692 29726 16777215]
                                )
                                (case_arm
                                  pat_list: [{(expsyms_regex)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:export_symbols_regex)
                                          op: Equal
                                          rhs: {($ VSub_Name '$arg')}
                                          spids: [29733]
                                        )
                                      ]
                                      spids: [29733]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [29737]
                                        )
                                      ]
                                      spids: [29737]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [29729 29730 29743 16777215]
                                )
                                (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: [29775 29782 29784 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (C {(func_append)} {(deplibs)} 
                                                      {
                                                        (DQ (' ') ($ VSub_Name '$qarg') (.ltframework))
                                                      }
                                                    )
                                                  ]
                                                  spids: [29787 29788 29804 16777215]
                                                )
                                              ]
                                              spids: [29765 29772 29807]
                                            )
                                          ]
                                          spids: [29757 29762 29810 16777215]
                                        )
                                      ]
                                      spids: [29750 29754 29813]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [29816]
                                        )
                                      ]
                                      spids: [29816]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [29746 29747 29822 16777215]
                                )
                                (case_arm
                                  pat_list: [{(inst_prefix)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:inst_prefix_dir)
                                          op: Equal
                                          rhs: {($ VSub_Name '$arg')}
                                          spids: [29829]
                                        )
                                      ]
                                      spids: [29829]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [29833]
                                        )
                                      ]
                                      spids: [29833]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [29825 29826 29839 16777215]
                                )
                                (case_arm
                                  pat_list: [{(mllvm)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [29854]
                                        )
                                      ]
                                      spids: [29854]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [29842 29843 29860 16777215]
                                )
                                (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: [29881]
                                                )
                                              ]
                                              spids: [29881]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:moreargs)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [29885]
                                                )
                                              ]
                                              spids: [29885]
                                            )
                                            (ForEach
                                              iter_name: fil
                                              iter_words: [
                                                {
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (C {(cat)} {(DQ ($ VSub_Name '$save_arg'))})
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick '`'>
                                                    spids: [29894 29900]
                                                  )
                                                }
                                              ]
                                              do_arg_iter: F
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:arg)
                                                          op: Equal
                                                          rhs: {($ VSub_Name '$fil')}
                                                          spids: [29909]
                                                        )
                                                      ]
                                                      spids: [29909]
                                                    )
                                                    (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: {(EmptyPart)}
                                                                  spids: [29934]
                                                                )
                                                              ]
                                                              spids: [29934]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:non_pic_object)
                                                                  op: Equal
                                                                  rhs: {(EmptyPart)}
                                                                  spids: [29937]
                                                                )
                                                              ]
                                                              spids: [29937]
                                                            )
                                                            (C {(func_source)} 
                                                              {(DQ ($ VSub_Name '$arg'))}
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (AndOr
                                                                          ops: [
Op_DPipe
Op_DPipe
Op_DAmp
                                                                          ]
                                                                          children: [
                                                                            (C {(test)} {(-z)} 
                                                                              {
                                                                                (DQ 
                                                                                  ($ VSub_Name 
'$pic_object'
                                                                                  )
                                                                                )
                                                                              }
                                                                            )
                                                                            (C {(test)} {(-z)} 
                                                                              {
                                                                                (DQ 
                                                                                  ($ VSub_Name 
'$non_pic_object'
                                                                                  )
                                                                                )
                                                                              }
                                                                            )
                                                                            (C {(test)} {(none)} 
                                                                              {(Lit_Other '=')} {(DQ ($ VSub_Name '$pic_object'))}
                                                                            )
                                                                            (C {(test)} {(none)} 
                                                                              {(Lit_Other '=')} {(DQ ($ VSub_Name '$non_pic_object'))}
                                                                            )
                                                                          ]
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (C {(func_fatal_error)} 
                                                                      {
                                                                        (DQ 
                                                                          (
"cannot find name of object for '"
                                                                          ) ($ VSub_Name '$arg') ("'")
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [16777215 30001]
                                                                )
                                                              ]
                                                              spids: [16777215 30013]
                                                            )
                                                            (C {(func_dirname)} 
                                                              {(DQ ($ VSub_Name '$arg'))} {(DQ (/))} {(DQ )}
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:xdir)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      ($ VSub_Name 
'$func_dirname_result'
                                                                      )
                                                                    }
                                                                  spids: [30035]
                                                                )
                                                              ]
                                                              spids: [30035]
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(test)} {(none)} 
                                                                          {(KW_Bang '!') 
                                                                            (Lit_Other '=')
                                                                          } {(DQ ($ VSub_Name '$pic_object'))}
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: pic_object
                                                                            )
                                                                          op: Equal
                                                                          rhs: 
                                                                            {($ VSub_Name '$xdir') 
                                                                              ($ VSub_Name 
'$pic_object'
                                                                              )
                                                                            }
                                                                          spids: [30061]
                                                                        )
                                                                      ]
                                                                      spids: [30061]
                                                                    )
                                                                    (If
                                                                      arms: [
                                                                        (if_arm
                                                                          cond: [
                                                                            (Sentence
                                                                              child: 
                                                                                (C {(test)} {(dlfiles)} 
                                                                                  {(Lit_Other '=')} {(DQ ($ VSub_Name '$prev'))}
                                                                                )
                                                                              terminator: 
                                                                                <Op_Semi ';'>
                                                                            )
                                                                          ]
                                                                          action: [
                                                                            (If
                                                                              arms: [
                                                                                (if_arm
                                                                                  cond: [
                                                                                    (Sentence
                                                                                      child: 
                                                                                        (AndOr
                                                                                          ops: [
Op_DAmp
                                                                                          ]
                                                                                          children: [
                                                                                            (C 
                                                                                              {
                                                                                                (
test
                                                                                                )
                                                                                              } {(yes)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$build_libtool_libs'))}
                                                                                            )
                                                                                            (C 
                                                                                              {
                                                                                                (
test
                                                                                                )
                                                                                              } {(yes)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$dlopen_support'))}
                                                                                            )
                                                                                          ]
                                                                                        )
                                                                                      terminator: 
                                                                                        <Op_Semi 
';'
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  action: [
                                                                                    (C {(func_append)} 
                                                                                      {(dlfiles)} {(DQ (' ') ($ VSub_Name '$pic_object'))}
                                                                                    )
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
prev
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: {(EmptyPart)}
                                                                                          spids: [
30121
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [30121]
                                                                                    )
                                                                                    (ControlFlow
                                                                                      token: 
                                                                                        <
ControlFlow_Continue continue
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  spids: [
16777215
30108
                                                                                  ]
                                                                                )
                                                                              ]
                                                                              else_action: [
                                                                                (Assignment
                                                                                  keyword: 
Assign_None
                                                                                  pairs: [
                                                                                    (assign_pair
                                                                                      lhs: 
                                                                                        (LhsName
                                                                                          name: prev
                                                                                        )
                                                                                      op: Equal
                                                                                      rhs: 
                                                                                        {
                                                                                          (
dlprefiles
                                                                                          )
                                                                                        }
                                                                                      spids: [30134]
                                                                                    )
                                                                                  ]
                                                                                  spids: [30134]
                                                                                )
                                                                              ]
                                                                              spids: [30127 30138]
                                                                            )
                                                                          ]
                                                                          spids: [16777215 30080]
                                                                        )
                                                                      ]
                                                                      spids: [16777215 30141]
                                                                    )
                                                                    (If
                                                                      arms: [
                                                                        (if_arm
                                                                          cond: [
                                                                            (Sentence
                                                                              child: 
                                                                                (C {(test)} 
                                                                                  {(dlprefiles)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$prev'))}
                                                                                )
                                                                              terminator: 
                                                                                <Op_Semi ';'>
                                                                            )
                                                                          ]
                                                                          action: [
                                                                            (C {(func_append)} 
                                                                              {(dlprefiles)} {(DQ (' ') ($ VSub_Name '$pic_object'))}
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: prev
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: {(EmptyPart)}
                                                                                  spids: [30179]
                                                                                )
                                                                              ]
                                                                              spids: [30179]
                                                                            )
                                                                          ]
                                                                          spids: [16777215 30162]
                                                                        )
                                                                      ]
                                                                      spids: [16777215 30182]
                                                                    )
                                                                    (C {(func_append)} {(libobjs)} 
                                                                      {
                                                                        (DQ (' ') 
                                                                          ($ VSub_Name '$pic_object')
                                                                        )
                                                                      }
                                                                    )
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:arg)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              ($ VSub_Name 
'$pic_object'
                                                                              )
                                                                            }
                                                                          spids: [30200]
                                                                        )
                                                                      ]
                                                                      spids: [30200]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 30054]
                                                                )
                                                              ]
                                                              spids: [16777215 30204]
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(test)} {(none)} 
                                                                          {(KW_Bang '!') 
                                                                            (Lit_Other '=')
                                                                          } {(DQ ($ VSub_Name '$non_pic_object'))}
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: non_pic_object
                                                                            )
                                                                          op: Equal
                                                                          rhs: 
                                                                            {($ VSub_Name '$xdir') 
                                                                              ($ VSub_Name 
'$non_pic_object'
                                                                              )
                                                                            }
                                                                          spids: [30233]
                                                                        )
                                                                      ]
                                                                      spids: [30233]
                                                                    )
                                                                    (C {(func_append)} 
                                                                      {(non_pic_objects)} {(DQ (' ') ($ VSub_Name '$non_pic_object'))}
                                                                    )
                                                                    (If
                                                                      arms: [
                                                                        (if_arm
                                                                          cond: [
                                                                            (Sentence
                                                                              child: 
                                                                                (AndOr
                                                                                  ops: [Op_DPipe]
                                                                                  children: [
                                                                                    (C {(test)} {(-z)} 
                                                                                      {
                                                                                        (DQ 
                                                                                          ($ 
VSub_Name '$pic_object'
                                                                                          )
                                                                                        )
                                                                                      }
                                                                                    )
                                                                                    (C {(test)} 
                                                                                      {(none)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$pic_object'))}
                                                                                    )
                                                                                  ]
                                                                                )
                                                                              terminator: 
                                                                                <Op_Semi ';'>
                                                                            )
                                                                          ]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: arg
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      ($ VSub_Name 
'$non_pic_object'
                                                                                      )
                                                                                    }
                                                                                  spids: [30279]
                                                                                )
                                                                              ]
                                                                              spids: [30279]
                                                                            )
                                                                          ]
                                                                          spids: [16777215 30276]
                                                                        )
                                                                      ]
                                                                      spids: [16777215 30283]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 30226]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: 
                                                                        (LhsName
                                                                          name: non_pic_object
                                                                        )
                                                                      op: Equal
                                                                      rhs: 
                                                                        {
                                                                          ($ VSub_Name '$pic_object')
                                                                        }
                                                                      spids: [30297]
                                                                    )
                                                                  ]
                                                                  spids: [30297]
                                                                )
                                                                (C {(func_append)} {(non_pic_objects)} 
                                                                  {
                                                                    (DQ (' ') 
                                                                      ($ VSub_Name '$non_pic_object')
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                              spids: [30286 30311]
                                                            )
                                                          ]
                                                          spids: [16777215 29931]
                                                        )
                                                      ]
                                                      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: 
                                                                        {
                                                                          ($ VSub_Name 
'$func_dirname_result'
                                                                          )
                                                                        }
                                                                      spids: [30347]
                                                                    )
                                                                  ]
                                                                  spids: [30347]
                                                                )
                                                                (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: [30359]
                                                                    )
                                                                  ]
                                                                  spids: [30359]
                                                                )
                                                                (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: [30366]
                                                                    )
                                                                  ]
                                                                  spids: [30366]
                                                                )
                                                                (C {(func_append)} {(libobjs)} 
                                                                  {
                                                                    (DQ (' ') 
                                                                      ($ VSub_Name '$pic_object')
                                                                    )
                                                                  }
                                                                )
                                                                (C {(func_append)} {(non_pic_objects)} 
                                                                  {
                                                                    (DQ (' ') 
                                                                      ($ VSub_Name '$non_pic_object')
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                              spids: [16777215 30326]
                                                            )
                                                          ]
                                                          else_action: [
                                                            (C {(func_fatal_error)} 
                                                              {
                                                                (DQ ("'") ($ VSub_Name '$arg') 
                                                                  (
"' is not a valid libtool object"
                                                                  )
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [30391 30403]
                                                        )
                                                      ]
                                                      spids: [30314 30406]
                                                    )
                                                  ]
                                                  spids: [29903 30409]
                                                )
                                              spids: [29893 16777215]
                                            )
                                          ]
                                          spids: [16777215 29878]
                                        )
                                      ]
                                      else_action: [
                                        (C {(func_fatal_error)} 
                                          {
                                            (DQ ("link input file '") ($ VSub_Name '$arg') 
                                              ("' does not exist")
                                            )
                                          }
                                        )
                                      ]
                                      spids: [30412 30424]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:arg)
                                          op: Equal
                                          rhs: {($ VSub_Name '$save_arg')}
                                          spids: [30427]
                                        )
                                      ]
                                      spids: [30427]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [30431]
                                        )
                                      ]
                                      spids: [30431]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [29863 29864 30437 16777215]
                                )
                                (case_arm
                                  pat_list: [{(os2dllname)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:os2dllname)
                                          op: Equal
                                          rhs: {($ VSub_Name '$arg')}
                                          spids: [30444]
                                        )
                                      ]
                                      spids: [30444]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [30448]
                                        )
                                      ]
                                      spids: [30448]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [30440 30441 30454 16777215]
                                )
                                (case_arm
                                  pat_list: [{(precious_regex)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:precious_files_regex)
                                          op: Equal
                                          rhs: {($ VSub_Name '$arg')}
                                          spids: [30461]
                                        )
                                      ]
                                      spids: [30461]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [30465]
                                        )
                                      ]
                                      spids: [30465]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [30457 30458 30471 16777215]
                                )
                                (case_arm
                                  pat_list: [{(release)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:release)
                                          op: Equal
                                          rhs: {(-) ($ VSub_Name '$arg')}
                                          spids: [30478]
                                        )
                                      ]
                                      spids: [30478]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [30483]
                                        )
                                      ]
                                      spids: [30483]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [30474 30475 30489 16777215]
                                )
                                (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: [30511 30528 30530 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_fatal_error)} 
                                              {(DQ ('only absolute run-paths are allowed'))}
                                            )
                                          ]
                                          spids: [30533 30534 30544 16777215]
                                        )
                                      ]
                                      spids: [30504 30508 30547]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(rpath)} {(Lit_Other '=')} 
                                                  {(DQ ($ VSub_Name '$prev'))}
                                                )
                                              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: [30576 30583 30585 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (C {(func_append)} {(rpath)} 
                                                      {(DQ (' ') ($ VSub_Name '$arg'))}
                                                    )
                                                  ]
                                                  spids: [30588 30589 30600 16777215]
                                                )
                                              ]
                                              spids: [30566 30573 30603]
                                            )
                                          ]
                                          spids: [16777215 30563]
                                        )
                                      ]
                                      else_action: [
                                        (Case
                                          to_match: {(DQ ($ VSub_Name '$xrpath') (' '))}
                                          arms: [
                                            (case_arm
                                              pat_list: [
                                                {(Lit_Other '*') 
                                                  (DQ (' ') ($ VSub_Name '$arg') (' ')) (Lit_Other '*')
                                                }
                                              ]
                                              spids: [30619 30626 30628 16777215]
                                            )
                                            (case_arm
                                              pat_list: [{(Lit_Other '*')}]
                                              action: [
                                                (C {(func_append)} {(xrpath)} 
                                                  {(DQ (' ') ($ VSub_Name '$arg'))}
                                                )
                                              ]
                                              spids: [30631 30632 30643 16777215]
                                            )
                                          ]
                                          spids: [30609 30616 30646]
                                        )
                                      ]
                                      spids: [30606 30649]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [30652]
                                        )
                                      ]
                                      spids: [30652]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [30492 30497 30658 16777215]
                                )
                                (case_arm
                                  pat_list: [{(shrext)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:shrext_cmds)
                                          op: Equal
                                          rhs: {($ VSub_Name '$arg')}
                                          spids: [30665]
                                        )
                                      ]
                                      spids: [30665]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [30669]
                                        )
                                      ]
                                      spids: [30669]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [30661 30662 30675 16777215]
                                )
                                (case_arm
                                  pat_list: [{(weak)}]
                                  action: [
                                    (C {(func_append)} {(weak_libs)} {(DQ (' ') ($ VSub_Name '$arg'))})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [30692]
                                        )
                                      ]
                                      spids: [30692]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [30678 30679 30698 16777215]
                                )
                                (case_arm
                                  pat_list: [{(xcclinker)}]
                                  action: [
                                    (C {(func_append)} {(linker_flags)} 
                                      {(DQ (' ') ($ VSub_Name '$qarg'))}
                                    )
                                    (C {(func_append)} {(compiler_flags)} 
                                      {(DQ (' ') ($ VSub_Name '$qarg'))}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [30725]
                                        )
                                      ]
                                      spids: [30725]
                                    )
                                    (C {(func_append)} {(compile_command)} 
                                      {(DQ (' ') ($ VSub_Name '$qarg'))}
                                    )
                                    (C {(func_append)} {(finalize_command)} 
                                      {(DQ (' ') ($ VSub_Name '$qarg'))}
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [30701 30702 30751 16777215]
                                )
                                (case_arm
                                  pat_list: [{(xcompiler)}]
                                  action: [
                                    (C {(func_append)} {(compiler_flags)} 
                                      {(DQ (' ') ($ VSub_Name '$qarg'))}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [30768]
                                        )
                                      ]
                                      spids: [30768]
                                    )
                                    (C {(func_append)} {(compile_command)} 
                                      {(DQ (' ') ($ VSub_Name '$qarg'))}
                                    )
                                    (C {(func_append)} {(finalize_command)} 
                                      {(DQ (' ') ($ VSub_Name '$qarg'))}
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [30754 30755 30794 16777215]
                                )
                                (case_arm
                                  pat_list: [{(xlinker)}]
                                  action: [
                                    (C {(func_append)} {(linker_flags)} 
                                      {(DQ (' ') ($ VSub_Name '$qarg'))}
                                    )
                                    (C {(func_append)} {(compiler_flags)} 
                                      {(DQ (' ') ($ VSub_Name '$wl') ($ VSub_Name '$qarg'))}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [30822]
                                        )
                                      ]
                                      spids: [30822]
                                    )
                                    (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: [30797 30798 30850 16777215]
                                )
                                (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: {(EmptyPart)}
                                          spids: [30869]
                                        )
                                      ]
                                      spids: [30869]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [30853 30854 30875 16777215]
                                )
                              ]
                              spids: [29422 29426 30878]
                            )
                          ]
                          spids: [16777215 29383]
                        )
                      ]
                      spids: [16777215 30881]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:prevarg)
                          op: Equal
                          rhs: {($ VSub_Name '$arg')}
                          spids: [30888]
                        )
                      ]
                      spids: [30888]
                    )
                    (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: [16777215 30915]
                                )
                              ]
                              spids: [16777215 30942]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [30900 30901 30948 16777215]
                        )
                        (case_arm
                          pat_list: [{(-allow-undefined)}]
                          action: [
                            (C {(func_fatal_error)} 
                              {
                                (DQ ("'-allow-undefined' must not be used because it is the default"))
                              }
                            )
                          ]
                          spids: [30952 30953 30967 16777215]
                        )
                        (case_arm
                          pat_list: [{(-avoid-version)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:avoid_version)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [30975]
                                )
                              ]
                              spids: [30975]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [30971 30972 30982 16777215]
                        )
                        (case_arm
                          pat_list: [{(-bindir)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(bindir)}
                                  spids: [30990]
                                )
                              ]
                              spids: [30990]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [30986 30987 30997 16777215]
                        )
                        (case_arm
                          pat_list: [{(-dlopen)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(dlfiles)}
                                  spids: [31005]
                                )
                              ]
                              spids: [31005]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31001 31002 31012 16777215]
                        )
                        (case_arm
                          pat_list: [{(-dlpreopen)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(dlprefiles)}
                                  spids: [31020]
                                )
                              ]
                              spids: [31020]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31016 31017 31027 16777215]
                        )
                        (case_arm
                          pat_list: [{(-export-dynamic)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:export_dynamic)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [31035]
                                )
                              ]
                              spids: [31035]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31031 31032 31042 16777215]
                        )
                        (case_arm
                          pat_list: [{(-export-symbols)} {(-export-symbols-regex)}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          ops: [Op_DPipe]
                                          children: [
                                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$export_symbols'))})
                                            (C {(test)} {(-n)} 
                                              {(DQ ($ VSub_Name '$export_symbols_regex'))}
                                            )
                                          ]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_fatal_error)} 
                                      {
                                        (DQ 
                                          (
'more than one -exported-symbols argument is not allowed'
                                          )
                                        )
                                      }
                                    )
                                  ]
                                  spids: [16777215 31075]
                                )
                              ]
                              spids: [16777215 31085]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(X-export-symbols)} {(Lit_Other '=')} 
                                          {(DQ (X) ($ VSub_Name '$arg'))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(expsyms)}
                                          spids: [31105]
                                        )
                                      ]
                                      spids: [31105]
                                    )
                                  ]
                                  spids: [16777215 31102]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:prev)
                                      op: Equal
                                      rhs: {(expsyms_regex)}
                                      spids: [31112]
                                    )
                                  ]
                                  spids: [31112]
                                )
                              ]
                              spids: [31109 31116]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31046 31051 31122 16777215]
                        )
                        (case_arm
                          pat_list: [{(-framework)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(framework)}
                                  spids: [31130]
                                )
                              ]
                              spids: [31130]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31126 31127 31137 16777215]
                        )
                        (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: [31145]
                                )
                              ]
                              spids: [31145]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31141 31142 31152 16777215]
                        )
                        (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: [31186 31201 31224 16777215]
                                )
                              ]
                              spids: [31177 31183 31227]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31164 31174 31233 16777215]
                        )
                        (case_arm
                          pat_list: [{(-L) (Lit_Other '*')}]
                          action: [
                            (C {(func_stripname)} {(DQ (-L))} {(SQ )} {(DQ ($ VSub_Name '$arg'))})
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-z)} {(DQ ($ VSub_Name '$func_stripname_result'))})
                                      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 '-L' and '") 
                                                  ($ VSub_Number '$1') ("'")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [16777215 31283]
                                        )
                                      ]
                                      else_action: [
                                        (C {(func_fatal_error)} {(DQ ("need path for '-L' option"))})
                                      ]
                                      spids: [31295 31305]
                                    )
                                  ]
                                  spids: [16777215 31267]
                                )
                              ]
                              spids: [16777215 31308]
                            )
                            (C {(func_resolve_sysroot)} {(DQ ($ VSub_Name '$func_stripname_result'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dir)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_resolve_sysroot_result')}
                                  spids: [31318]
                                )
                              ]
                              spids: [31318]
                            )
                            (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: [31333 31350 31352 16777215]
                                )
                                (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
                                                        ops: [Op_DAmp]
                                                        children: [
                                                          (C {(cd)} {(DQ ($ VSub_Name '$dir'))})
                                                          (C {(pwd)})
                                                        ]
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [31360 31370]
                                              )
                                            }
                                          spids: [31359]
                                        )
                                      ]
                                      spids: [31359]
                                    )
                                    (AndOr
                                      ops: [Op_DAmp]
                                      children: [
                                        (C {(test)} {(-z)} {(DQ ($ VSub_Name '$absdir'))})
                                        (C {(func_fatal_error)} 
                                          {
                                            (DQ ("cannot determine absolute directory name of '") 
                                              ($ VSub_Name '$dir') ("'")
                                            )
                                          }
                                        )
                                      ]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dir)
                                          op: Equal
                                          rhs: {($ VSub_Name '$absdir')}
                                          spids: [31394]
                                        )
                                      ]
                                      spids: [31394]
                                    )
                                  ]
                                  spids: [31355 31356 31398 16777215]
                                )
                              ]
                              spids: [31326 31330 31401]
                            )
                            (Case
                              to_match: {(DQ ($ VSub_Name '$deplibs') (' '))}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (DQ (' -L') ($ VSub_Name '$dir') (' ')) 
                                      (Lit_Other '*')
                                    }
                                    {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$arg') (' ')) 
                                      (Lit_Other '*')
                                    }
                                  ]
                                  spids: [31414 31431 31438 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (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 '*')
                                            }
                                            {(Lit_Other '=') (Lit_Other '*')}
                                          ]
                                          action: [
                                            (C {(func_append)} {(deplibs)} 
                                              {(DQ (' ') ($ VSub_Name '$arg'))}
                                            )
                                          ]
                                          spids: [31456 31478 31489 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_append)} {(deplibs)} 
                                              {(DQ (' -L') ($ VSub_Name '$dir'))}
                                            )
                                          ]
                                          spids: [31492 31493 31504 16777215]
                                        )
                                      ]
                                      spids: [31449 31453 31507]
                                    )
                                    (C {(func_append)} {(lib_search_path)} 
                                      {(DQ (' ') ($ VSub_Name '$dir'))}
                                    )
                                  ]
                                  spids: [31441 31442 31520 16777215]
                                )
                              ]
                              spids: [31404 31411 31523]
                            )
                            (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: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [31572 31586]
                                              )
                                            }
                                          spids: [31571]
                                        )
                                      ]
                                      spids: [31571]
                                    )
                                    (Case
                                      to_match: 
                                        {(Lit_Other ':') ($ VSub_Name '$dllsearchpath') 
                                          (Lit_Other ':')
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (DQ (':') ($ VSub_Name '$dir') (':')) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [31598 31605 31607 16777215]
                                        )
                                        (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: [31614]
                                                )
                                              ]
                                              spids: [31614]
                                            )
                                          ]
                                          spids: [31610 31612 31616 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_append)} {(dllsearchpath)} 
                                              {(DQ (':') ($ VSub_Name '$dir'))}
                                            )
                                          ]
                                          spids: [31619 31620 31630 16777215]
                                        )
                                      ]
                                      spids: [31589 31595 31633]
                                    )
                                    (Case
                                      to_match: 
                                        {(Lit_Other ':') ($ VSub_Name '$dllsearchpath') 
                                          (Lit_Other ':')
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') 
                                              (DQ (':') ($ VSub_Name '$testbindir') (':')) (Lit_Other '*')
                                            }
                                          ]
                                          spids: [31645 31652 31654 16777215]
                                        )
                                        (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: [31661]
                                                )
                                              ]
                                              spids: [31661]
                                            )
                                          ]
                                          spids: [31657 31659 31663 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_append)} {(dllsearchpath)} 
                                              {(DQ (':') ($ VSub_Name '$testbindir'))}
                                            )
                                          ]
                                          spids: [31666 31667 31677 16777215]
                                        )
                                      ]
                                      spids: [31636 31642 31680]
                                    )
                                  ]
                                  spids: [31533 31568 31683 16777215]
                                )
                              ]
                              spids: [31526 31530 31686]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31237 31239 31692 16777215]
                        )
                        (case_arm
                          pat_list: [{(-l) (Lit_Other '*')}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          ops: [Op_DPipe]
                                          children: [
                                            (C {(test)} {(X-lc)} {(Lit_Other '=')} 
                                              {(DQ (X) ($ VSub_Name '$arg'))}
                                            )
                                            (C {(test)} {(X-lm)} {(Lit_Other '=')} 
                                              {(DQ (X) ($ VSub_Name '$arg'))}
                                            )
                                          ]
                                        )
                                      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: [31738 31781 31791 16777215]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-os2) (Lit_Other '*')}
                                          ]
                                          action: [
                                            (AndOr
                                              ops: [Op_DAmp]
                                              children: [
                                                (C {(test)} {(X-lc)} {(Lit_Other '=')} 
                                                  {(DQ (X) ($ VSub_Name '$arg'))}
                                                )
                                                (ControlFlow
                                                  token: <ControlFlow_Continue continue>
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [31794 31799 31822 16777215]
                                        )
                                        (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 '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-bitrig) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          action: [
                                            (AndOr
                                              ops: [Op_DAmp]
                                              children: [
                                                (C {(test)} {(X-lc)} {(Lit_Other '=')} 
                                                  {(DQ (X) ($ VSub_Name '$arg'))}
                                                )
                                                (ControlFlow
                                                  token: <ControlFlow_Continue continue>
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [31825 31854 31877 16777215]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-rhapsody) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-darwin1.) 
                                              (Lit_Other '[') (012) (Lit_Other ']')
                                            }
                                          ]
                                          action: [
                                            (C {(func_append)} {(deplibs)} {(DQ (' System.ltframework'))})
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [31880 31895 31914 16777215]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-sco3.2v5) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-sco5v6) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          action: [
                                            (AndOr
                                              ops: [Op_DAmp]
                                              children: [
                                                (C {(test)} {(X-lc)} {(Lit_Other '=')} 
                                                  {(DQ (X) ($ VSub_Name '$arg'))}
                                                )
                                                (ControlFlow
                                                  token: <ControlFlow_Continue continue>
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [31917 31930 31953 16777215]
                                        )
                                        (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
                                              ops: [Op_DAmp]
                                              children: [
                                                (C {(test)} {(X-lc)} {(Lit_Other '=')} 
                                                  {(DQ (X) ($ VSub_Name '$arg'))}
                                                )
                                                (ControlFlow
                                                  token: <ControlFlow_Continue continue>
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [31956 31985 32008 16777215]
                                        )
                                      ]
                                      spids: [31731 31735 32011]
                                    )
                                  ]
                                  spids: [16777215 31728]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(X-lc_r)} {(Lit_Other '=')} 
                                          {(DQ (X) ($ VSub_Name '$arg'))}
                                        )
                                      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 '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-bitrig) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                                          spids: [32038 32067 32077 16777215]
                                        )
                                      ]
                                      spids: [32031 32035 32080]
                                    )
                                  ]
                                  spids: [32014 32028]
                                )
                              ]
                              spids: [16777215 32083]
                            )
                            (C {(func_append)} {(deplibs)} {(DQ (' ') ($ VSub_Name '$arg'))})
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31696 31698 32099 16777215]
                        )
                        (case_arm
                          pat_list: [{(-mllvm)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(mllvm)}
                                  spids: [32107]
                                )
                              ]
                              spids: [32107]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [32103 32104 32114 16777215]
                        )
                        (case_arm
                          pat_list: [{(-module)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:module)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [32122]
                                )
                              ]
                              spids: [32122]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [32118 32119 32129 16777215]
                        )
                        (case_arm
                          pat_list: [{(-model)} {(-arch)} {(-isysroot)} {(--sysroot)}]
                          action: [
                            (C {(func_append)} {(compiler_flags)} {(DQ (' ') ($ VSub_Name '$arg'))})
                            (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: [32185]
                                )
                              ]
                              spids: [32185]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [32145 32152 32192 16777215]
                        )
                        (case_arm
                          pat_list: [
                            {(-mt)}
                            {(-mthreads)}
                            {(-kthread)}
                            {(-Kthread)}
                            {(-pthread)}
                            {(-pthreads)}
                            {(--thread-safe)}
                            {(-threads)}
                            {(-fopenmp)}
                            {(-openmp)}
                            {(-mp)}
                            {(-xopenmp)}
                            {(-omp)}
                            {(-qsmp) (Lit_Other '=') (Lit_Other '*')}
                          ]
                          action: [
                            (C {(func_append)} {(compiler_flags)} {(DQ (' ') ($ VSub_Name '$arg'))})
                            (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: [32271 32278 32280 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(func_append)} {(new_inherited_linker_flags)} 
                                      {(DQ (' ') ($ VSub_Name '$arg'))}
                                    )
                                  ]
                                  spids: [32283 32285 32296 16777215]
                                )
                              ]
                              spids: [32261 32268 32299]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [32196 32228 32305 16777215]
                        )
                        (case_arm
                          pat_list: [{(-multi_module)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:single_module)
                                  op: Equal
                                  rhs: {($ VSub_Name '$wl') (-multi_module)}
                                  spids: [32313]
                                )
                              ]
                              spids: [32313]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [32309 32310 32321 16777215]
                        )
                        (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: [32329]
                                )
                              ]
                              spids: [32329]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [32325 32326 32336 16777215]
                        )
                        (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 ("'-no-install' is ignored for ") ($ VSub_Name '$host'))}
                                    )
                                    (C {(func_warning)} {(DQ ("assuming '-no-fast-install' instead"))})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:fast_install)
                                          op: Equal
                                          rhs: {(no)}
                                          spids: [32420]
                                        )
                                      ]
                                      spids: [32420]
                                    )
                                  ]
                                  spids: [32351 32394 32424 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:no_install)
                                          op: Equal
                                          rhs: {(yes)}
                                          spids: [32430]
                                        )
                                      ]
                                      spids: [32430]
                                    )
                                  ]
                                  spids: [32427 32428 32433 16777215]
                                )
                              ]
                              spids: [32344 32348 32436]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [32340 32341 32442 16777215]
                        )
                        (case_arm
                          pat_list: [{(-no-undefined)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:allow_undefined)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [32450]
                                )
                              ]
                              spids: [32450]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [32446 32447 32457 16777215]
                        )
                        (case_arm
                          pat_list: [{(-objectlist)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(objectlist)}
                                  spids: [32465]
                                )
                              ]
                              spids: [32465]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [32461 32462 32472 16777215]
                        )
                        (case_arm
                          pat_list: [{(-os2dllname)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(os2dllname)}
                                  spids: [32480]
                                )
                              ]
                              spids: [32480]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [32476 32477 32487 16777215]
                        )
                        (case_arm
                          pat_list: [{(-o)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(output)}
                                  spids: [32494]
                                )
                              ]
                              spids: [32494]
                            )
                          ]
                          spids: [32491 32492 32497 16777215]
                        )
                        (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: [32505]
                                )
                              ]
                              spids: [32505]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [32501 32502 32512 16777215]
                        )
                        (case_arm
                          pat_list: [{(-release)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(release)}
                                  spids: [32520]
                                )
                              ]
                              spids: [32520]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [32516 32517 32527 16777215]
                        )
                        (case_arm
                          pat_list: [{(-rpath)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(rpath)}
                                  spids: [32535]
                                )
                              ]
                              spids: [32535]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [32531 32532 32542 16777215]
                        )
                        (case_arm
                          pat_list: [{(-R)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(xrpath)}
                                  spids: [32550]
                                )
                              ]
                              spids: [32550]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [32546 32547 32557 16777215]
                        )
                        (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: [32580]
                                )
                              ]
                              spids: [32580]
                            )
                            (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: [32595 32612 32614 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '=') (Lit_Other '*')}]
                                  action: [
                                    (C {(func_stripname)} {(SQ <'='>)} {(SQ )} {(DQ ($ VSub_Name '$dir'))})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dir)
                                          op: Equal
                                          rhs: 
                                            {($ VSub_Name '$lt_sysroot') 
                                              ($ VSub_Name '$func_stripname_result')
                                            }
                                          spids: [32636]
                                        )
                                      ]
                                      spids: [32636]
                                    )
                                  ]
                                  spids: [32617 32619 32641 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(func_fatal_error)} 
                                      {(DQ ('only absolute run-paths are allowed'))}
                                    )
                                  ]
                                  spids: [32644 32645 32655 16777215]
                                )
                              ]
                              spids: [32588 32592 32658]
                            )
                            (Case
                              to_match: {(DQ ($ VSub_Name '$xrpath') (' '))}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$dir') (' ')) 
                                      (Lit_Other '*')
                                    }
                                  ]
                                  spids: [32671 32678 32680 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(func_append)} {(xrpath)} {(DQ (' ') ($ VSub_Name '$dir'))})
                                  ]
                                  spids: [32683 32684 32695 16777215]
                                )
                              ]
                              spids: [32661 32668 32698]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [32561 32563 32704 16777215]
                        )
                        (case_arm
                          pat_list: [{(-shared)}]
                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                          spids: [32708 32709 32719 16777215]
                        )
                        (case_arm
                          pat_list: [{(-shrext)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(shrext)}
                                  spids: [32727]
                                )
                              ]
                              spids: [32727]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [32723 32724 32734 16777215]
                        )
                        (case_arm
                          pat_list: [{(-static)} {(-static-libtool-libs)}]
                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                          spids: [32738 32743 32769 16777215]
                        )
                        (case_arm
                          pat_list: [{(-thread-safe)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:thread_safe)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [32777]
                                )
                              ]
                              spids: [32777]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [32773 32774 32784 16777215]
                        )
                        (case_arm
                          pat_list: [{(-version-info)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(vinfo)}
                                  spids: [32792]
                                )
                              ]
                              spids: [32792]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [32788 32789 32799 16777215]
                        )
                        (case_arm
                          pat_list: [{(-version-number)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(vinfo)}
                                  spids: [32807]
                                )
                              ]
                              spids: [32807]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:vinfo_number)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [32811]
                                )
                              ]
                              spids: [32811]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [32803 32804 32818 16777215]
                        )
                        (case_arm
                          pat_list: [{(-weak)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(weak)}
                                  spids: [32826]
                                )
                              ]
                              spids: [32826]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [32822 32823 32833 16777215]
                        )
                        (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: [32857]
                                )
                              ]
                              spids: [32857]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [32861]
                                )
                              ]
                              spids: [32861]
                            )
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:save_ifs)
                                      op: Equal
                                      rhs: {($ VSub_Name '$IFS')}
                                      spids: [32864]
                                    )
                                  ]
                                  spids: [32864]
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(Lit_Comma ',')}
                                  spids: [32868]
                                )
                              ]
                              spids: [32868]
                            )
                            (ForEach
                              iter_name: flag
                              iter_words: [{($ VSub_Name '$args')}]
                              do_arg_iter: F
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {($ VSub_Name '$save_ifs')}
                                          spids: [32884]
                                        )
                                      ]
                                      spids: [32884]
                                    )
                                    (C {(func_quote_for_eval)} {(DQ ($ VSub_Name '$flag'))})
                                    (C {(func_append)} {(arg)} 
                                      {(DQ (' ') ($ VSub_Name '$func_quote_for_eval_result'))}
                                    )
                                    (C {(func_append)} {(compiler_flags)} 
                                      {(DQ (' ') ($ VSub_Name '$func_quote_for_eval_result'))}
                                    )
                                  ]
                                  spids: [32881 32915]
                                )
                              spids: [32877 32879]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {($ VSub_Name '$save_ifs')}
                                  spids: [32918]
                                )
                              ]
                              spids: [32918]
                            )
                            (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: [32936]
                                )
                              ]
                              spids: [32936]
                            )
                          ]
                          spids: [32837 32840 32940 16777215]
                        )
                        (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: [32964]
                                )
                              ]
                              spids: [32964]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [32968]
                                )
                              ]
                              spids: [32968]
                            )
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:save_ifs)
                                      op: Equal
                                      rhs: {($ VSub_Name '$IFS')}
                                      spids: [32971]
                                    )
                                  ]
                                  spids: [32971]
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(Lit_Comma ',')}
                                  spids: [32975]
                                )
                              ]
                              spids: [32975]
                            )
                            (ForEach
                              iter_name: flag
                              iter_words: [{($ VSub_Name '$args')}]
                              do_arg_iter: F
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {($ VSub_Name '$save_ifs')}
                                          spids: [32991]
                                        )
                                      ]
                                      spids: [32991]
                                    )
                                    (C {(func_quote_for_eval)} {(DQ ($ VSub_Name '$flag'))})
                                    (C {(func_append)} {(arg)} 
                                      {
                                        (DQ (' ') ($ VSub_Name '$wl') 
                                          ($ VSub_Name '$func_quote_for_eval_result')
                                        )
                                      }
                                    )
                                    (C {(func_append)} {(compiler_flags)} 
                                      {
                                        (DQ (' ') ($ VSub_Name '$wl') 
                                          ($ VSub_Name '$func_quote_for_eval_result')
                                        )
                                      }
                                    )
                                    (C {(func_append)} {(linker_flags)} 
                                      {(DQ (' ') ($ VSub_Name '$func_quote_for_eval_result'))}
                                    )
                                  ]
                                  spids: [32988 33034]
                                )
                              spids: [32984 32986]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {($ VSub_Name '$save_ifs')}
                                  spids: [33037]
                                )
                              ]
                              spids: [33037]
                            )
                            (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: [33055]
                                )
                              ]
                              spids: [33055]
                            )
                          ]
                          spids: [32944 32947 33059 16777215]
                        )
                        (case_arm
                          pat_list: [{(-Xcompiler)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(xcompiler)}
                                  spids: [33067]
                                )
                              ]
                              spids: [33067]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [33063 33064 33074 16777215]
                        )
                        (case_arm
                          pat_list: [{(-Xlinker)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(xlinker)}
                                  spids: [33082]
                                )
                              ]
                              spids: [33082]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [33078 33079 33089 16777215]
                        )
                        (case_arm
                          pat_list: [{(-XCClinker)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(xcclinker)}
                                  spids: [33097]
                                )
                              ]
                              spids: [33097]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [33093 33094 33104 16777215]
                        )
                        (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: {($ VSub_Name '$func_quote_for_eval_result')}
                                  spids: [33124]
                                )
                              ]
                              spids: [33124]
                            )
                          ]
                          spids: [33112 33114 33128 16777215]
                        )
                        (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 '*')}
                            {(--sysroot) (Lit_Other '=') (Lit_Other '*')}
                            {(-O) (Lit_Other '*')}
                            {(-g) (Lit_Other '*')}
                            {(-flto) (Lit_Other '*')}
                            {(-fwhopr) (Lit_Other '*')}
                            {(-fuse-linker-plugin)}
                            {(-fstack-protector) (Lit_Other '*')}
                            {(-stdlib) (Lit_Other '=') (Lit_Other '*')}
                            {(-specs) (Lit_Other '=') (Lit_Other '*')}
                            {(-fsanitize) (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: {($ VSub_Name '$func_quote_for_eval_result')}
                                  spids: [33317]
                                )
                              ]
                              spids: [33317]
                            )
                            (C {(func_append)} {(compile_command)} {(DQ (' ') ($ VSub_Name '$arg'))})
                            (C {(func_append)} {(finalize_command)} {(DQ (' ') ($ VSub_Name '$arg'))})
                            (C {(func_append)} {(compiler_flags)} {(DQ (' ') ($ VSub_Name '$arg'))})
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [33200 33307 33354 16777215]
                        )
                        (case_arm
                          pat_list: [{(-Z) (Lit_Other '*')}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(os2)} {(Lit_Other '=')} 
                                          {
                                            (DQ 
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (C {(expr)} {($ VSub_Name '$host')} 
                                                        {(Lit_Other ':')} {(SQ <'.*\\(os2\\)'>)}
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [33372 33382]
                                              )
                                            )
                                          }
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  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: [33393]
                                        )
                                      ]
                                      spids: [33393]
                                    )
                                    (C {(func_append)} {(compile_command)} 
                                      {(DQ (' ') ($ VSub_Name '$arg'))}
                                    )
                                    (C {(func_append)} {(finalize_command)} 
                                      {(DQ (' ') ($ VSub_Name '$arg'))}
                                    )
                                    (Case
                                      to_match: {($ VSub_Name '$arg')}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(-Zlinker)} {(-Zstack)}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:prev)
                                                  op: Equal
                                                  rhs: {(xcompiler)}
                                                  spids: [33436]
                                                )
                                              ]
                                              spids: [33436]
                                            )
                                          ]
                                          spids: [33428 33433 33440 16777215]
                                        )
                                      ]
                                      spids: [33421 33425 33443]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [16777215 33386]
                                )
                              ]
                              else_action: [
                                (C {(func_quote_for_eval)} {(DQ ($ VSub_Name '$arg'))})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:arg)
                                      op: Equal
                                      rhs: {($ VSub_Name '$func_quote_for_eval_result')}
                                      spids: [33463]
                                    )
                                  ]
                                  spids: [33463]
                                )
                              ]
                              spids: [33449 33467]
                            )
                          ]
                          spids: [33358 33360 33470 16777215]
                        )
                        (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: {($ VSub_Name '$func_quote_for_eval_result')}
                                  spids: [33495]
                                )
                              ]
                              spids: [33495]
                            )
                          ]
                          spids: [33478 33485 33499 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.) ($ VSub_Name '$objext')}]
                          action: [(C {(func_append)} {(objs)} {(DQ (' ') ($ VSub_Name '$arg'))})]
                          spids: [33503 33506 33523 16777215]
                        )
                        (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: {(EmptyPart)}
                                          spids: [33553]
                                        )
                                      ]
                                      spids: [33553]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:non_pic_object)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [33556]
                                        )
                                      ]
                                      spids: [33556]
                                    )
                                    (C {(func_source)} {(DQ ($ VSub_Name '$arg'))})
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DPipe Op_DPipe Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(-z)} {(DQ ($ VSub_Name '$pic_object'))})
                                                    (C {(test)} {(-z)} 
                                                      {(DQ ($ VSub_Name '$non_pic_object'))}
                                                    )
                                                    (C {(test)} {(none)} {(Lit_Other '=')} 
                                                      {(DQ ($ VSub_Name '$pic_object'))}
                                                    )
                                                    (C {(test)} {(none)} {(Lit_Other '=')} 
                                                      {(DQ ($ VSub_Name '$non_pic_object'))}
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_fatal_error)} 
                                              {
                                                (DQ ("cannot find name of object for '") 
                                                  ($ VSub_Name '$arg') ("'")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [16777215 33620]
                                        )
                                      ]
                                      spids: [16777215 33632]
                                    )
                                    (C {(func_dirname)} {(DQ ($ VSub_Name '$arg'))} {(DQ (/))} {(DQ )})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:xdir)
                                          op: Equal
                                          rhs: {($ VSub_Name '$func_dirname_result')}
                                          spids: [33654]
                                        )
                                      ]
                                      spids: [33654]
                                    )
                                    (AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {(test)} {(none)} {(Lit_Other '=')} 
                                          {(DQ ($ VSub_Name '$pic_object'))}
                                        )
                                        (BraceGroup
                                          children: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:pic_object)
                                                  op: Equal
                                                  rhs: 
                                                    {($ VSub_Name '$xdir') 
                                                      ($ VSub_Name '$pic_object')
                                                    }
                                                  spids: [33678]
                                                )
                                              ]
                                              spids: [33678]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(dlfiles)} {(Lit_Other '=')} 
                                                          {(DQ ($ VSub_Name '$prev'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (AndOr
                                                                  ops: [Op_DAmp]
                                                                  children: [
                                                                    (C {(test)} {(yes)} 
                                                                      {(Lit_Other '=')} {(DQ ($ VSub_Name '$build_libtool_libs'))}
                                                                    )
                                                                    (C {(test)} {(yes)} 
                                                                      {(Lit_Other '=')} {(DQ ($ VSub_Name '$dlopen_support'))}
                                                                    )
                                                                  ]
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (C {(func_append)} {(dlfiles)} 
                                                              {
                                                                (DQ (' ') ($ VSub_Name '$pic_object'))
                                                              }
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:prev)
                                                                  op: Equal
                                                                  rhs: {(EmptyPart)}
                                                                  spids: [33738]
                                                                )
                                                              ]
                                                              spids: [33738]
                                                            )
                                                            (ControlFlow
                                                              token: <ControlFlow_Continue continue>
                                                            )
                                                          ]
                                                          spids: [16777215 33725]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:prev)
                                                              op: Equal
                                                              rhs: {(dlprefiles)}
                                                              spids: [33751]
                                                            )
                                                          ]
                                                          spids: [33751]
                                                        )
                                                      ]
                                                      spids: [33744 33755]
                                                    )
                                                  ]
                                                  spids: [16777215 33697]
                                                )
                                              ]
                                              spids: [16777215 33758]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(dlprefiles)} {(Lit_Other '=')} 
                                                          {(DQ ($ VSub_Name '$prev'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_append)} {(dlprefiles)} 
                                                      {(DQ (' ') ($ VSub_Name '$pic_object'))}
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:prev)
                                                          op: Equal
                                                          rhs: {(EmptyPart)}
                                                          spids: [33796]
                                                        )
                                                      ]
                                                      spids: [33796]
                                                    )
                                                  ]
                                                  spids: [16777215 33779]
                                                )
                                              ]
                                              spids: [16777215 33799]
                                            )
                                            (C {(func_append)} {(libobjs)} 
                                              {(DQ (' ') ($ VSub_Name '$pic_object'))}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:arg)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$pic_object')}
                                                  spids: [33817]
                                                )
                                              ]
                                              spids: [33817]
                                            )
                                          ]
                                          spids: [33671]
                                        )
                                      ]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(none)} {(KW_Bang '!') (Lit_Other '=')} 
                                                  {(DQ ($ VSub_Name '$non_pic_object'))}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:non_pic_object)
                                                  op: Equal
                                                  rhs: 
                                                    {($ VSub_Name '$xdir') 
                                                      ($ VSub_Name '$non_pic_object')
                                                    }
                                                  spids: [33850]
                                                )
                                              ]
                                              spids: [33850]
                                            )
                                            (C {(func_append)} {(non_pic_objects)} 
                                              {(DQ (' ') ($ VSub_Name '$non_pic_object'))}
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (AndOr
                                                          ops: [Op_DPipe]
                                                          children: [
                                                            (C {(test)} {(-z)} 
                                                              {(DQ ($ VSub_Name '$pic_object'))}
                                                            )
                                                            (C {(test)} {(none)} {(Lit_Other '=')} 
                                                              {(DQ ($ VSub_Name '$pic_object'))}
                                                            )
                                                          ]
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:arg)
                                                          op: Equal
                                                          rhs: {($ VSub_Name '$non_pic_object')}
                                                          spids: [33896]
                                                        )
                                                      ]
                                                      spids: [33896]
                                                    )
                                                  ]
                                                  spids: [16777215 33893]
                                                )
                                              ]
                                              spids: [16777215 33900]
                                            )
                                          ]
                                          spids: [16777215 33843]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:non_pic_object)
                                              op: Equal
                                              rhs: {($ VSub_Name '$pic_object')}
                                              spids: [33914]
                                            )
                                          ]
                                          spids: [33914]
                                        )
                                        (C {(func_append)} {(non_pic_objects)} 
                                          {(DQ (' ') ($ VSub_Name '$non_pic_object'))}
                                        )
                                      ]
                                      spids: [33903 33928]
                                    )
                                  ]
                                  spids: [16777215 33550]
                                )
                              ]
                              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: {($ VSub_Name '$func_dirname_result')}
                                              spids: [33964]
                                            )
                                          ]
                                          spids: [33964]
                                        )
                                        (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: [33976]
                                            )
                                          ]
                                          spids: [33976]
                                        )
                                        (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: [33983]
                                            )
                                          ]
                                          spids: [33983]
                                        )
                                        (C {(func_append)} {(libobjs)} 
                                          {(DQ (' ') ($ VSub_Name '$pic_object'))}
                                        )
                                        (C {(func_append)} {(non_pic_objects)} 
                                          {(DQ (' ') ($ VSub_Name '$non_pic_object'))}
                                        )
                                      ]
                                      spids: [16777215 33943]
                                    )
                                  ]
                                  else_action: [
                                    (C {(func_fatal_error)} 
                                      {
                                        (DQ ("'") ($ VSub_Name '$arg') 
                                          ("' is not a valid libtool object")
                                        )
                                      }
                                    )
                                  ]
                                  spids: [34008 34020]
                                )
                              ]
                              spids: [33931 34023]
                            )
                          ]
                          spids: [33527 33529 34026 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.) ($ VSub_Name '$libext')}]
                          action: [
                            (C {(func_append)} {(deplibs)} {(DQ (' ') ($ VSub_Name '$arg'))})
                            (C {(func_append)} {(old_deplibs)} {(DQ (' ') ($ VSub_Name '$arg'))})
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [34030 34033 34063 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.la)}]
                          action: [
                            (C {(func_resolve_sysroot)} {(DQ ($ VSub_Name '$arg'))})
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(dlfiles)} {(Lit_Other '=')} 
                                          {(DQ ($ VSub_Name '$prev'))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_append)} {(dlfiles)} 
                                      {(DQ (' ') ($ VSub_Name '$func_resolve_sysroot_result'))}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [34114]
                                        )
                                      ]
                                      spids: [34114]
                                    )
                                  ]
                                  spids: [16777215 34097]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(dlprefiles)} {(Lit_Other '=')} 
                                          {(DQ ($ VSub_Name '$prev'))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_append)} {(dlprefiles)} 
                                      {(DQ (' ') ($ VSub_Name '$func_resolve_sysroot_result'))}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [34147]
                                        )
                                      ]
                                      spids: [34147]
                                    )
                                  ]
                                  spids: [34117 34130]
                                )
                              ]
                              else_action: [
                                (C {(func_append)} {(deplibs)} 
                                  {(DQ (' ') ($ VSub_Name '$func_resolve_sysroot_result'))}
                                )
                              ]
                              spids: [34150 34163]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [34067 34069 34169 16777215]
                        )
                        (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: {($ VSub_Name '$func_quote_for_eval_result')}
                                  spids: [34196]
                                )
                              ]
                              spids: [34196]
                            )
                          ]
                          spids: [34177 34178 34200 16777215]
                        )
                      ]
                      spids: [30893 30897 34203]
                    )
                    (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: [16777215 34225]
                        )
                      ]
                      spids: [16777215 34248]
                    )
                  ]
                  spids: [29336 34251]
                )
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$prev'))})
                (C {(func_fatal_help)} 
                  {(DQ ("the '") ($ VSub_Name '$prevarg') ("' option requires an argument"))}
                )
              ]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (C {(test)} {(yes)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$export_dynamic'))})
                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$export_dynamic_flag_spec'))})
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(eval)} 
                      {(Lit_VarLike '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: [16777215 34303]
                )
              ]
              spids: [16777215 34334]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:oldlibs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [34338]
                )
              ]
              spids: [34338]
            )
            (C {(func_basename)} {(DQ ($ VSub_Name '$output'))})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:outputname)
                  op: Equal
                  rhs: {($ VSub_Name '$func_basename_result')}
                  spids: [34352]
                )
              ]
              spids: [34352]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libobjs_save)
                  op: Equal
                  rhs: {($ VSub_Name '$libobjs')}
                  spids: [34356]
                )
              ]
              spids: [34356]
            )
            (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 '\\$'>) ($ VSub_Name '$shlibpath_var') (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: [16777215 34372]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:shlib_search_path)
                      op: Equal
                      rhs: {(EmptyPart)}
                      spids: [34409]
                    )
                  ]
                  spids: [34409]
                )
              ]
              spids: [34406 34412]
            )
            (C {(eval)} 
              {(Lit_VarLike 'sys_lib_search_path=') 
                (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$sys_lib_search_path_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
              }
            )
            (C {(eval)} 
              {(Lit_VarLike 'sys_lib_dlsearch_path=') 
                (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$sys_lib_dlsearch_path_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
              }
            )
            (C {(func_munge_path_list)} {(sys_lib_dlsearch_path)} 
              {(DQ ($ VSub_Name '$LT_SYS_LIBRARY_PATH'))}
            )
            (C {(func_dirname)} {(DQ ($ VSub_Name '$output'))} {(DQ (/))} {(DQ )})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:output_objdir)
                  op: Equal
                  rhs: {($ VSub_Name '$func_dirname_result') ($ VSub_Name '$objdir')}
                  spids: [34460]
                )
              ]
              spids: [34460]
            )
            (C {(func_to_tool_file)} {(DQ ($ VSub_Name '$output_objdir') (/))})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:tool_output_objdir)
                  op: Equal
                  rhs: {($ VSub_Name '$func_to_tool_file_result')}
                  spids: [34473]
                )
              ]
              spids: [34473]
            )
            (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: [34500 34502 34512 16777215]
                )
                (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: [34520]
                        )
                      ]
                      spids: [34520]
                    )
                  ]
                  spids: [34515 34518 34523 16777215]
                )
                (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: [34536]
                        )
                      ]
                      spids: [34536]
                    )
                  ]
                  spids: [34526 34534 34539 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*') (.la)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:linkmode)
                          op: Equal
                          rhs: {(lib)}
                          spids: [34546]
                        )
                      ]
                      spids: [34546]
                    )
                  ]
                  spids: [34542 34544 34549 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:linkmode)
                          op: Equal
                          rhs: {(prog)}
                          spids: [34555]
                        )
                      ]
                      spids: [34555]
                    )
                  ]
                  spids: [34552 34553 34558 16777215]
                )
              ]
              spids: [34493 34497 34564]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:specialdeplibs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [34568]
                )
              ]
              spids: [34568]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:libs) op:Equal rhs:{(EmptyPart)} spids:[34572])]
              spids: [34572]
            )
            (ForEach
              iter_name: deplib
              iter_words: [{($ VSub_Name '$deplibs')}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {($ VSub_Name '$opt_preserve_dup_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: [
                                    (C {(func_append)} {(specialdeplibs)} 
                                      {(DQ (' ') ($ VSub_Name '$deplib'))}
                                    )
                                  ]
                                  spids: [34613 34620 34631 16777215]
                                )
                              ]
                              spids: [34603 34610 34634]
                            )
                          ]
                          spids: [16777215 34600]
                        )
                      ]
                      spids: [16777215 34637]
                    )
                    (C {(func_append)} {(libs)} {(DQ (' ') ($ VSub_Name '$deplib'))})
                  ]
                  spids: [34592 34650]
                )
              spids: [34588 34590]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(lib)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$linkmode'))})
                      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: [34670]
                        )
                      ]
                      spids: [34670]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:pre_post_deps)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [34695]
                        )
                      ]
                      spids: [34695]
                    )
                    (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: F
                              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: [
                                            (C {(func_append)} {(specialdeplibs)} 
                                              {(DQ (' ') ($ VSub_Name '$pre_post_deps'))}
                                            )
                                          ]
                                          spids: [34730 34737 34748 16777215]
                                        )
                                      ]
                                      spids: [34720 34727 34751]
                                    )
                                    (C {(func_append)} {(pre_post_deps)} 
                                      {(DQ (' ') ($ VSub_Name '$pre_post_dep'))}
                                    )
                                  ]
                                  spids: [34717 34764]
                                )
                              spids: [34711 34715]
                            )
                          ]
                          spids: [16777215 34703]
                        )
                      ]
                      spids: [16777215 34767]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:pre_post_deps)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [34770]
                        )
                      ]
                      spids: [34770]
                    )
                  ]
                  spids: [16777215 34667]
                )
              ]
              spids: [16777215 34773]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:deplibs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [34777]
                )
              ]
              spids: [34777]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:newdependency_libs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [34780]
                )
              ]
              spids: [34780]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:newlib_search_path)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [34783]
                )
              ]
              spids: [34783]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:need_relink) op:Equal rhs:{(no)} spids:[34786])]
              spids: [34786]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:notinst_deplibs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [34793]
                )
              ]
              spids: [34793]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:notinst_path)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [34799]
                )
              ]
              spids: [34799]
            )
            (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: [34817]
                        )
                      ]
                      spids: [34817]
                    )
                    (ForEach
                      iter_name: file
                      iter_words: [{($ VSub_Name '$dlfiles')} {($ VSub_Name '$dlprefiles')}]
                      do_arg_iter: F
                      body: 
                        (DoGroup
                          children: [
                            (Case
                              to_match: {($ VSub_Name '$file')}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (.la)}]
                                  spids: [34844 34846 34848 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(func_fatal_help)} 
                                      {
                                        (DQ ("libraries can '-dlopen' only libtool libraries: ") 
                                          ($ VSub_Name '$file')
                                        )
                                      }
                                    )
                                  ]
                                  spids: [34851 34852 34863 16777215]
                                )
                              ]
                              spids: [34837 34841 34866]
                            )
                          ]
                          spids: [34834 34869]
                        )
                      spids: [34828 34832]
                    )
                  ]
                  spids: [34813 34814 34872 16777215]
                )
                (case_arm
                  pat_list: [{(prog)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:compile_deplibs)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [34879]
                        )
                      ]
                      spids: [34879]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:finalize_deplibs)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [34882]
                        )
                      ]
                      spids: [34882]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:alldeplibs)
                          op: Equal
                          rhs: {(false)}
                          spids: [34885]
                        )
                      ]
                      spids: [34885]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:newdlfiles)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [34889]
                        )
                      ]
                      spids: [34889]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:newdlprefiles)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [34892]
                        )
                      ]
                      spids: [34892]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:passes)
                          op: Equal
                          rhs: {(DQ ('conv scan dlopen dlpreopen link'))}
                          spids: [34895]
                        )
                      ]
                      spids: [34895]
                    )
                  ]
                  spids: [34875 34876 34901 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:passes)
                          op: Equal
                          rhs: {(DQ (conv))}
                          spids: [34907]
                        )
                      ]
                      spids: [34907]
                    )
                  ]
                  spids: [34904 34905 34913 16777215]
                )
              ]
              spids: [34806 34810 34916]
            )
            (ForEach
              iter_name: pass
              iter_words: [{($ VSub_Name '$passes')}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(lib) (Lit_Comma ',') (link)} {(Lit_Other '=')} 
                                  {(DQ ($ VSub_Name '$linkmode') (',') ($ VSub_Name '$pass'))}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:tmp_deplibs)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [34968]
                                )
                              ]
                              spids: [34968]
                            )
                            (ForEach
                              iter_name: deplib
                              iter_words: [{($ VSub_Name '$deplibs')}]
                              do_arg_iter: F
                              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: [34983]
                                        )
                                      ]
                                      spids: [34983]
                                    )
                                  ]
                                  spids: [34980 34991]
                                )
                              spids: [34976 34978]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$tmp_deplibs')}
                                  spids: [34994]
                                )
                              ]
                              spids: [34994]
                            )
                          ]
                          spids: [16777215 34957]
                        )
                      ]
                      spids: [16777215 34998]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  ops: [Op_DPipe]
                                  children: [
                                    (C {(test)} {(lib) (Lit_Comma ',') (link)} {(Lit_Other '=')} 
                                      {(DQ ($ VSub_Name '$linkmode') (',') ($ VSub_Name '$pass'))}
                                    )
                                    (C {(test)} {(prog) (Lit_Comma ',') (scan)} {(Lit_Other '=')} 
                                      {(DQ ($ VSub_Name '$linkmode') (',') ($ VSub_Name '$pass'))}
                                    )
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$deplibs')}
                                  spids: [35039]
                                )
                              ]
                              spids: [35039]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [35043]
                                )
                              ]
                              spids: [35043]
                            )
                          ]
                          spids: [16777215 35036]
                        )
                      ]
                      spids: [16777215 35046]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(prog)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$linkmode'))})
                              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: {($ VSub_Name '$dlfiles')}
                                          spids: [35075]
                                        )
                                      ]
                                      spids: [35075]
                                    )
                                  ]
                                  spids: [35072 35073 35078 16777215]
                                )
                                (case_arm
                                  pat_list: [{(dlpreopen)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:libs)
                                          op: Equal
                                          rhs: {($ VSub_Name '$dlprefiles')}
                                          spids: [35084]
                                        )
                                      ]
                                      spids: [35084]
                                    )
                                  ]
                                  spids: [35081 35082 35087 16777215]
                                )
                                (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%'))}
                                          spids: [35094]
                                        )
                                      ]
                                      spids: [35094]
                                    )
                                    (AndOr
                                      ops: [Op_DAmp]
                                      children: [
                                        (C {(test)} {(DQ (X) ($ VSub_Name '$link_all_deplibs'))} 
                                          {(KW_Bang '!') (Lit_Other '=')} {(Xno)}
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:libs)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$libs') (' ') 
                                                    ($ VSub_Name '$dependency_libs')
                                                  )
                                                }
                                              spids: [35115]
                                            )
                                          ]
                                          spids: [35115]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [35090 35091 35123 16777215]
                                )
                              ]
                              spids: [35065 35069 35126]
                            )
                          ]
                          spids: [16777215 35062]
                        )
                      ]
                      spids: [16777215 35129]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(lib) (Lit_Comma ',') (dlpreopen)} {(Lit_Other '=')} 
                                  {(DQ ($ VSub_Name '$linkmode') (',') ($ VSub_Name '$pass'))}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (ForEach
                              iter_name: lib
                              iter_words: [{($ VSub_Name '$dlprefiles')}]
                              do_arg_iter: F
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dependency_libs)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [35172]
                                        )
                                      ]
                                      spids: [35172]
                                    )
                                    (C {(func_resolve_sysroot)} {(DQ ($ VSub_Name '$lib'))})
                                    (Case
                                      to_match: {($ VSub_Name '$lib')}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(Lit_Other '*') (.la)}]
                                          action: [
                                            (C {(func_source)} 
                                              {(DQ ($ VSub_Name '$func_resolve_sysroot_result'))}
                                            )
                                          ]
                                          spids: [35189 35191 35199 16777215]
                                        )
                                      ]
                                      spids: [35182 35186 35202]
                                    )
                                    (ForEach
                                      iter_name: deplib
                                      iter_words: [{($ VSub_Name '$dependency_libs')}]
                                      do_arg_iter: F
                                      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: [35233]
                                                )
                                              ]
                                              spids: [35233]
                                            )
                                            (Case
                                              to_match: {(DQ (' ') ($ VSub_Name '$weak_libs') (' '))}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other '*') 
                                                      (DQ (' ') ($ VSub_Name '$deplib_base') (' ')) (Lit_Other '*')
                                                    }
                                                  ]
                                                  spids: [35248 35255 35257 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (C {(func_append)} {(deplibs)} 
                                                      {(DQ (' ') ($ VSub_Name '$deplib'))}
                                                    )
                                                  ]
                                                  spids: [35260 35261 35272 16777215]
                                                )
                                              ]
                                              spids: [35237 35245 35275]
                                            )
                                          ]
                                          spids: [35223 35278]
                                        )
                                      spids: [35219 35221]
                                    )
                                  ]
                                  spids: [35165 35281]
                                )
                              spids: [35161 35163]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$dlprefiles')}
                                  spids: [35284]
                                )
                              ]
                              spids: [35284]
                            )
                          ]
                          spids: [16777215 35149]
                        )
                      ]
                      spids: [16777215 35288]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(dlopen)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$pass'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:save_deplibs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$deplibs')}
                                  spids: [35311]
                                )
                              ]
                              spids: [35311]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [35315]
                                )
                              ]
                              spids: [35315]
                            )
                          ]
                          spids: [16777215 35304]
                        )
                      ]
                      spids: [16777215 35318]
                    )
                    (ForEach
                      iter_name: deplib
                      iter_words: [{($ VSub_Name '$libs')}]
                      do_arg_iter: F
                      body: 
                        (DoGroup
                          children: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:lib)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [35334]
                                )
                              ]
                              spids: [35334]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:found)
                                  op: Equal
                                  rhs: {(false)}
                                  spids: [35337]
                                )
                              ]
                              spids: [35337]
                            )
                            (Case
                              to_match: {($ VSub_Name '$deplib')}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(-mt)}
                                    {(-mthreads)}
                                    {(-kthread)}
                                    {(-Kthread)}
                                    {(-pthread)}
                                    {(-pthreads)}
                                    {(--thread-safe)}
                                    {(-threads)}
                                    {(-fopenmp)}
                                    {(-openmp)}
                                    {(-mp)}
                                    {(-xopenmp)}
                                    {(-omp)}
                                    {(-qsmp) (Lit_Other '=') (Lit_Other '*')}
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(prog) (Lit_Comma ',') (link)} 
                                                  {(Lit_Other '=')} {(DQ ($ VSub_Name '$linkmode') (',') ($ VSub_Name '$pass'))}
                                                )
                                              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: [35403]
                                                )
                                              ]
                                              spids: [35403]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:finalize_deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$deplib') (' ') 
                                                        ($ VSub_Name '$finalize_deplibs')
                                                      )
                                                    }
                                                  spids: [35411]
                                                )
                                              ]
                                              spids: [35411]
                                            )
                                          ]
                                          spids: [16777215 35400]
                                        )
                                      ]
                                      else_action: [
                                        (C {(func_append)} {(compiler_flags)} 
                                          {(DQ (' ') ($ VSub_Name '$deplib'))}
                                        )
                                        (If
                                          arms: [
                                            (if_arm
                                              cond: [
                                                (Sentence
                                                  child: 
                                                    (C {(test)} {(lib)} {(Lit_Other '=')} 
                                                      {(DQ ($ VSub_Name '$linkmode'))}
                                                    )
                                                  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: [35458 35465 35467 16777215]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other '*')}]
                                                      action: [
                                                        (C {(func_append)} 
                                                          {(new_inherited_linker_flags)} {(DQ (' ') ($ VSub_Name '$deplib'))}
                                                        )
                                                      ]
                                                      spids: [35470 35472 35483 16777215]
                                                    )
                                                  ]
                                                  spids: [35448 35455 35486]
                                                )
                                              ]
                                              spids: [16777215 35445]
                                            )
                                          ]
                                          spids: [16777215 35489]
                                        )
                                      ]
                                      spids: [35419 35492]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [35348 35380 35498 16777215]
                                )
                                (case_arm
                                  pat_list: [{(-l) (Lit_Other '*')}]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(lib)} {(KW_Bang '!') (Lit_Other '=')} 
                                                      {(DQ ($ VSub_Name '$linkmode'))}
                                                    )
                                                    (C {(test)} {(prog)} {(KW_Bang '!') (Lit_Other '=')} 
                                                      {(DQ ($ VSub_Name '$linkmode'))}
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_warning)} 
                                              {(DQ ("'-l' is ignored for archives/objects"))}
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [16777215 35533]
                                        )
                                      ]
                                      spids: [16777215 35546]
                                    )
                                    (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: [35563]
                                        )
                                      ]
                                      spids: [35563]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(lib)} {(Lit_Other '=')} 
                                                  {(DQ ($ VSub_Name '$linkmode'))}
                                                )
                                              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: [35583]
                                                )
                                              ]
                                              spids: [35583]
                                            )
                                          ]
                                          spids: [16777215 35580]
                                        )
                                      ]
                                      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: [35600]
                                            )
                                          ]
                                          spids: [35600]
                                        )
                                      ]
                                      spids: [35597 35612]
                                    )
                                    (ForEach
                                      iter_name: searchdir
                                      iter_words: [{($ VSub_Name '$searchdirs')}]
                                      do_arg_iter: F
                                      body: 
                                        (DoGroup
                                          children: [
                                            (ForEach
                                              iter_name: search_ext
                                              iter_words: [
                                                {(.la)}
                                                {($ VSub_Name '$std_shrext')}
                                                {(.so)}
                                                {(.a)}
                                              ]
                                              do_arg_iter: F
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:lib)
                                                          op: Equal
                                                          rhs: 
                                                            {($ VSub_Name '$searchdir') (/lib) 
                                                              ($ VSub_Name '$name') ($ VSub_Name '$search_ext')
                                                            }
                                                          spids: [35649]
                                                        )
                                                      ]
                                                      spids: [35649]
                                                    )
                                                    (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)} {(.la)} 
                                                                          {(Lit_Other '=')} {(DQ ($ VSub_Name '$search_ext'))}
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:found)
                                                                          op: Equal
                                                                          rhs: {(Lit_Other ':')}
                                                                          spids: [35686]
                                                                        )
                                                                      ]
                                                                      spids: [35686]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 35683]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:found)
                                                                      op: Equal
                                                                      rhs: {(false)}
                                                                      spids: [35693]
                                                                    )
                                                                  ]
                                                                  spids: [35693]
                                                                )
                                                              ]
                                                              spids: [35690 35697]
                                                            )
                                                            (ControlFlow
                                                              token: <ControlFlow_Break break>
                                                              arg_word: {(2)}
                                                            )
                                                          ]
                                                          spids: [16777215 35667]
                                                        )
                                                      ]
                                                      spids: [16777215 35705]
                                                    )
                                                  ]
                                                  spids: [35642 35708]
                                                )
                                              spids: [35632 35640]
                                            )
                                          ]
                                          spids: [35624 35711]
                                        )
                                      spids: [35620 35622]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: (C {($ VSub_Name '$found')})
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(yes)} {(Lit_Other '=')} 
                                                          {
                                                            (DQ 
                                                              ($ VSub_Name 
'$allow_libtool_libs_with_static_runtimes'
                                                              )
                                                            )
                                                          }
                                                        )
                                                      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: {(EmptyPart)}
                                                                          spids: [35785]
                                                                        )
                                                                      ]
                                                                      spids: [35785]
                                                                    )
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: old_library
                                                                            )
                                                                          op: Equal
                                                                          rhs: {(EmptyPart)}
                                                                          spids: [35788]
                                                                        )
                                                                      ]
                                                                      spids: [35788]
                                                                    )
                                                                    (C {(func_source)} 
                                                                      {(DQ ($ VSub_Name '$lib'))}
                                                                    )
                                                                    (ForEach
                                                                      iter_name: l
                                                                      iter_words: [
                                                                        {
                                                                          ($ VSub_Name '$old_library')
                                                                        }
                                                                        {
                                                                          ($ VSub_Name 
'$library_names'
                                                                          )
                                                                        }
                                                                      ]
                                                                      do_arg_iter: F
                                                                      body: 
                                                                        (DoGroup
                                                                          children: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: ll
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      ($ VSub_Name 
'$l'
                                                                                      )
                                                                                    }
                                                                                  spids: [35812]
                                                                                )
                                                                              ]
                                                                              spids: [35812]
                                                                            )
                                                                          ]
                                                                          spids: [35809 35816]
                                                                        )
                                                                      spids: [35803 35807]
                                                                    )
                                                                    (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: {(false)}
                                                                                  spids: [35842]
                                                                                )
                                                                              ]
                                                                              spids: [35842]
                                                                            )
                                                                            (C {(func_dirname)} 
                                                                              {
                                                                                (DQ 
                                                                                  ($ VSub_Name '$lib')
                                                                                )
                                                                              } {(DQ )} {(DQ (.))}
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: ladir
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      ($ VSub_Name 
'$func_dirname_result'
                                                                                      )
                                                                                    }
                                                                                  spids: [35860]
                                                                                )
                                                                              ]
                                                                              spids: [35860]
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: lib
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      ($ VSub_Name 
'$ladir'
                                                                                      ) (/) ($ VSub_Name '$old_library')
                                                                                    }
                                                                                  spids: [35864]
                                                                                )
                                                                              ]
                                                                              spids: [35864]
                                                                            )
                                                                            (If
                                                                              arms: [
                                                                                (if_arm
                                                                                  cond: [
                                                                                    (Sentence
                                                                                      child: 
                                                                                        (C {(test)} 
                                                                                          {(prog) 
                                                                                            (
Lit_Comma ','
                                                                                            ) (link)
                                                                                          } {(Lit_Other '=')} {(DQ ($ VSub_Name '$linkmode') (',') ($ VSub_Name '$pass'))}
                                                                                        )
                                                                                      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: [
35890
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [35890]
                                                                                    )
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
finalize_deplibs
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: 
                                                                                            {
                                                                                              (DQ 
                                                                                                ($ 
VSub_Name '$deplib'
                                                                                                ) (' ') ($ VSub_Name '$finalize_deplibs')
                                                                                              )
                                                                                            }
                                                                                          spids: [
35898
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [35898]
                                                                                    )
                                                                                  ]
                                                                                  spids: [
16777215
35887
                                                                                  ]
                                                                                )
                                                                              ]
                                                                              else_action: [
                                                                                (Assignment
                                                                                  keyword: 
Assign_None
                                                                                  pairs: [
                                                                                    (assign_pair
                                                                                      lhs: 
                                                                                        (LhsName
                                                                                          name: 
deplibs
                                                                                        )
                                                                                      op: Equal
                                                                                      rhs: 
                                                                                        {
                                                                                          (DQ 
                                                                                            ($ 
VSub_Name '$deplib'
                                                                                            ) (' ') ($ VSub_Name '$deplibs')
                                                                                          )
                                                                                        }
                                                                                      spids: [35909]
                                                                                    )
                                                                                  ]
                                                                                  spids: [35909]
                                                                                )
                                                                                (AndOr
                                                                                  ops: [Op_DAmp]
                                                                                  children: [
                                                                                    (C {(test)} {(lib)} 
                                                                                      {
                                                                                        (Lit_Other 
'='
                                                                                        )
                                                                                      } {(DQ ($ VSub_Name '$linkmode'))}
                                                                                    )
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
newdependency_libs
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: 
                                                                                            {
                                                                                              (DQ 
                                                                                                ($ 
VSub_Name '$deplib'
                                                                                                ) (' ') ($ VSub_Name '$newdependency_libs')
                                                                                              )
                                                                                            }
                                                                                          spids: [
35929
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [35929]
                                                                                    )
                                                                                  ]
                                                                                )
                                                                              ]
                                                                              spids: [35906 35937]
                                                                            )
                                                                            (ControlFlow
                                                                              token: 
                                                                                <
ControlFlow_Continue continue
                                                                                >
                                                                            )
                                                                          ]
                                                                          spids: [16777215 35836]
                                                                        )
                                                                      ]
                                                                      spids: [16777215 35943]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 35782]
                                                                )
                                                              ]
                                                              spids: [16777215 35946]
                                                            )
                                                          ]
                                                          spids: [35763 35770 35949 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          spids: [35952 35953 35955 16777215]
                                                        )
                                                      ]
                                                      spids: [35750 35760 35958]
                                                    )
                                                  ]
                                                  spids: [16777215 35747]
                                                )
                                              ]
                                              spids: [16777215 35961]
                                            )
                                          ]
                                          spids: [16777215 35719]
                                        )
                                      ]
                                      else_action: [
                                        (If
                                          arms: [
                                            (if_arm
                                              cond: [
                                                (Sentence
                                                  child: 
                                                    (C {(test)} {(prog) (Lit_Comma ',') (link)} 
                                                      {(Lit_Other '=')} {(DQ ($ VSub_Name '$linkmode') (',') ($ VSub_Name '$pass'))}
                                                    )
                                                  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: [35991]
                                                    )
                                                  ]
                                                  spids: [35991]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:finalize_deplibs)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name '$deplib') (' ') 
                                                            ($ VSub_Name '$finalize_deplibs')
                                                          )
                                                        }
                                                      spids: [35999]
                                                    )
                                                  ]
                                                  spids: [35999]
                                                )
                                              ]
                                              spids: [16777215 35988]
                                            )
                                          ]
                                          else_action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$deplib') (' ') 
                                                        ($ VSub_Name '$deplibs')
                                                      )
                                                    }
                                                  spids: [36010]
                                                )
                                              ]
                                              spids: [36010]
                                            )
                                            (AndOr
                                              ops: [Op_DAmp]
                                              children: [
                                                (C {(test)} {(lib)} {(Lit_Other '=')} 
                                                  {(DQ ($ VSub_Name '$linkmode'))}
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:newdependency_libs)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name '$deplib') (' ') 
                                                            ($ VSub_Name '$newdependency_libs')
                                                          )
                                                        }
                                                      spids: [36030]
                                                    )
                                                  ]
                                                  spids: [36030]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [36007 36038]
                                        )
                                        (ControlFlow
                                          token: <ControlFlow_Continue continue>
                                        )
                                      ]
                                      spids: [35964 36044]
                                    )
                                  ]
                                  spids: [35501 35503 36047 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (.ltframework)}]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(prog) (Lit_Comma ',') (link)} 
                                                  {(Lit_Other '=')} {(DQ ($ VSub_Name '$linkmode') (',') ($ VSub_Name '$pass'))}
                                                )
                                              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: [36078]
                                                )
                                              ]
                                              spids: [36078]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:finalize_deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$deplib') (' ') 
                                                        ($ VSub_Name '$finalize_deplibs')
                                                      )
                                                    }
                                                  spids: [36086]
                                                )
                                              ]
                                              spids: [36086]
                                            )
                                          ]
                                          spids: [16777215 36075]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:deplibs)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$deplib') (' ') 
                                                    ($ VSub_Name '$deplibs')
                                                  )
                                                }
                                              spids: [36097]
                                            )
                                          ]
                                          spids: [36097]
                                        )
                                        (If
                                          arms: [
                                            (if_arm
                                              cond: [
                                                (Sentence
                                                  child: 
                                                    (C {(test)} {(lib)} {(Lit_Other '=')} 
                                                      {(DQ ($ VSub_Name '$linkmode'))}
                                                    )
                                                  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: [36131 36138 36140 16777215]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other '*')}]
                                                      action: [
                                                        (C {(func_append)} 
                                                          {(new_inherited_linker_flags)} {(DQ (' ') ($ VSub_Name '$deplib'))}
                                                        )
                                                      ]
                                                      spids: [36143 36145 36156 16777215]
                                                    )
                                                  ]
                                                  spids: [36121 36128 36159]
                                                )
                                              ]
                                              spids: [16777215 36118]
                                            )
                                          ]
                                          spids: [16777215 36162]
                                        )
                                      ]
                                      spids: [36094 36165]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [36053 36055 36171 16777215]
                                )
                                (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: [36190]
                                                )
                                              ]
                                              spids: [36190]
                                            )
                                            (AndOr
                                              ops: [Op_DAmp]
                                              children: [
                                                (C {(test)} {(conv)} {(Lit_Other '=')} 
                                                  {(DQ ($ VSub_Name '$pass'))}
                                                )
                                                (ControlFlow
                                                  token: <ControlFlow_Continue continue>
                                                )
                                              ]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newdependency_libs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$deplib') (' ') 
                                                        ($ VSub_Name '$newdependency_libs')
                                                      )
                                                    }
                                                  spids: [36213]
                                                )
                                              ]
                                              spids: [36213]
                                            )
                                            (C {(func_stripname)} {(SQ <-L>)} {(SQ )} 
                                              {(DQ ($ VSub_Name '$deplib'))}
                                            )
                                            (C {(func_resolve_sysroot)} 
                                              {(DQ ($ VSub_Name '$func_stripname_result'))}
                                            )
                                            (C {(func_append)} {(newlib_search_path)} 
                                              {
                                                (DQ (' ') ($ VSub_Name '$func_resolve_sysroot_result'))
                                              }
                                            )
                                          ]
                                          spids: [36186 36187 36252 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(prog)}]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(conv)} {(Lit_Other '=')} 
                                                          {(DQ ($ VSub_Name '$pass'))}
                                                        )
                                                      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: [36275]
                                                        )
                                                      ]
                                                      spids: [36275]
                                                    )
                                                    (ControlFlow
                                                      token: <ControlFlow_Continue continue>
                                                    )
                                                  ]
                                                  spids: [16777215 36272]
                                                )
                                              ]
                                              spids: [16777215 36286]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(scan)} {(Lit_Other '=')} 
                                                          {(DQ ($ VSub_Name '$pass'))}
                                                        )
                                                      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: [36305]
                                                        )
                                                      ]
                                                      spids: [36305]
                                                    )
                                                  ]
                                                  spids: [16777215 36302]
                                                )
                                              ]
                                              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: [36316]
                                                    )
                                                  ]
                                                  spids: [36316]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:finalize_deplibs)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name '$deplib') (' ') 
                                                            ($ VSub_Name '$finalize_deplibs')
                                                          )
                                                        }
                                                      spids: [36324]
                                                    )
                                                  ]
                                                  spids: [36324]
                                                )
                                              ]
                                              spids: [36313 36332]
                                            )
                                            (C {(func_stripname)} {(SQ <-L>)} {(SQ )} 
                                              {(DQ ($ VSub_Name '$deplib'))}
                                            )
                                            (C {(func_resolve_sysroot)} 
                                              {(DQ ($ VSub_Name '$func_stripname_result'))}
                                            )
                                            (C {(func_append)} {(newlib_search_path)} 
                                              {
                                                (DQ (' ') ($ VSub_Name '$func_resolve_sysroot_result'))
                                              }
                                            )
                                          ]
                                          spids: [36255 36256 36366 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_warning)} 
                                              {(DQ ("'-L' is ignored for archives/objects"))}
                                            )
                                          ]
                                          spids: [36369 36370 36380 16777215]
                                        )
                                      ]
                                      spids: [36179 36183 36383]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [36174 36176 36392 16777215]
                                )
                                (case_arm
                                  pat_list: [{(-R) (Lit_Other '*')}]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(link)} {(Lit_Other '=')} 
                                                  {(DQ ($ VSub_Name '$pass'))}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_stripname)} {(SQ <-R>)} {(SQ )} 
                                              {(DQ ($ VSub_Name '$deplib'))}
                                            )
                                            (C {(func_resolve_sysroot)} 
                                              {(DQ ($ VSub_Name '$func_stripname_result'))}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dir)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$func_resolve_sysroot_result')}
                                                  spids: [36440]
                                                )
                                              ]
                                              spids: [36440]
                                            )
                                            (Case
                                              to_match: {(DQ ($ VSub_Name '$xrpath') (' '))}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other '*') 
                                                      (DQ (' ') ($ VSub_Name '$dir') (' ')) (Lit_Other '*')
                                                    }
                                                  ]
                                                  spids: [36458 36465 36467 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (C {(func_append)} {(xrpath)} 
                                                      {(DQ (' ') ($ VSub_Name '$dir'))}
                                                    )
                                                  ]
                                                  spids: [36470 36471 36482 16777215]
                                                )
                                              ]
                                              spids: [36448 36455 36485]
                                            )
                                          ]
                                          spids: [16777215 36416]
                                        )
                                      ]
                                      spids: [16777215 36488]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:deplibs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$deplib') (' ') 
                                                ($ VSub_Name '$deplibs')
                                              )
                                            }
                                          spids: [36491]
                                        )
                                      ]
                                      spids: [36491]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [36398 36400 36502 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (.la)}]
                                  action: [
                                    (C {(func_resolve_sysroot)} {(DQ ($ VSub_Name '$deplib'))})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:lib)
                                          op: Equal
                                          rhs: {($ VSub_Name '$func_resolve_sysroot_result')}
                                          spids: [36517]
                                        )
                                      ]
                                      spids: [36517]
                                    )
                                  ]
                                  spids: [36505 36507 36521 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (.) ($ VSub_Name '$libext')}]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(conv)} {(Lit_Other '=')} 
                                                  {(DQ ($ VSub_Name '$pass'))}
                                                )
                                              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: [36546]
                                                )
                                              ]
                                              spids: [36546]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [16777215 36543]
                                        )
                                      ]
                                      spids: [16777215 36557]
                                    )
                                    (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: [36590 36597 36599 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:valid_a_lib)
                                                          op: Equal
                                                          rhs: {(false)}
                                                          spids: [36606]
                                                        )
                                                      ]
                                                      spids: [36606]
                                                    )
                                                    (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') (' ') (Lit_Other '\\') ('(.*') (Lit_Other '\\') (')'))}
                                                                              )
                                                                            ]
                                                                          )
                                                                        left_token: 
                                                                          <Left_Backtick '`'>
                                                                        spids: [36633 36650]
                                                                      )
                                                                    }
                                                                  spids: [36632]
                                                                )
                                                              ]
                                                              spids: [36632]
                                                            )
                                                            (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: 
                                                                                    <Redir_Great 
'2>'
                                                                                    >
                                                                                  fd: 2
                                                                                  arg_word: 
                                                                                    {(/dev/null)}
                                                                                )
                                                                              ]
                                                                            )
                                                                            (C {($ VSub_Name '$SED')} 
                                                                              {(10q)}
                                                                            )
                                                                            (SimpleCommand
                                                                              words: [
                                                                                {
                                                                                  ($ VSub_Name 
'$EGREP'
                                                                                  )
                                                                                }
                                                                                {
                                                                                  (DQ 
                                                                                    ($ VSub_Name 
'$match_pattern_regex'
                                                                                    )
                                                                                  )
                                                                                }
                                                                              ]
                                                                              redirects: [
                                                                                (Redir
                                                                                  op: 
                                                                                    <Redir_Great 
'>'
                                                                                    >
                                                                                  fd: 16777215
                                                                                  arg_word: 
                                                                                    {(/dev/null)}
                                                                                )
                                                                              ]
                                                                            )
                                                                          ]
                                                                          negated: F
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: valid_a_lib
                                                                            )
                                                                          op: Equal
                                                                          rhs: {(Lit_Other ':')}
                                                                          spids: [36692]
                                                                        )
                                                                      ]
                                                                      spids: [36692]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 36689]
                                                                )
                                                              ]
                                                              spids: [16777215 36696]
                                                            )
                                                          ]
                                                          spids: [36617 36619 36699 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(pass_all)}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:valid_a_lib)
                                                                  op: Equal
                                                                  rhs: {(Lit_Other ':')}
                                                                  spids: [36706]
                                                                )
                                                              ]
                                                              spids: [36706]
                                                            )
                                                          ]
                                                          spids: [36702 36703 36710 16777215]
                                                        )
                                                      ]
                                                      spids: [36610 36614 36713]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: (C {($ VSub_Name '$valid_a_lib')})
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          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: [36745]
                                                                )
                                                              ]
                                                              spids: [36745]
                                                            )
                                                          ]
                                                          spids: [16777215 36721]
                                                        )
                                                      ]
                                                      else_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: [36753 36805]
                                                    )
                                                  ]
                                                  spids: [36602 36603 36808 16777215]
                                                )
                                              ]
                                              spids: [36579 36587 36811]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [36567 36568 36817 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(prog)}]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(link)} 
                                                          {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$pass'))}
                                                        )
                                                      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: [36841]
                                                        )
                                                      ]
                                                      spids: [36841]
                                                    )
                                                  ]
                                                  spids: [16777215 36838]
                                                )
                                              ]
                                              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: [36852]
                                                    )
                                                  ]
                                                  spids: [36852]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:finalize_deplibs)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name '$deplib') (' ') 
                                                            ($ VSub_Name '$finalize_deplibs')
                                                          )
                                                        }
                                                      spids: [36860]
                                                    )
                                                  ]
                                                  spids: [36860]
                                                )
                                              ]
                                              spids: [36849 36868]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [36820 36821 36874 16777215]
                                        )
                                      ]
                                      spids: [36560 36564 36877]
                                    )
                                  ]
                                  spids: [36524 36527 36883 16777215]
                                )
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (.lo)}
                                    {(Lit_Other '*') (.) ($ VSub_Name '$objext')}
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(conv)} {(Lit_Other '=')} 
                                                  {(DQ ($ VSub_Name '$pass'))}
                                                )
                                              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: [36916]
                                                )
                                              ]
                                              spids: [36916]
                                            )
                                          ]
                                          spids: [16777215 36913]
                                        )
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(prog)} {(Lit_Other '=')} 
                                                  {(DQ ($ VSub_Name '$linkmode'))}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (AndOr
                                                          ops: [Op_DPipe Op_DPipe]
                                                          children: [
                                                            (C {(test)} {(dlpreopen)} {(Lit_Other '=')} 
                                                              {(DQ ($ VSub_Name '$pass'))}
                                                            )
                                                            (C {(test)} {(yes)} 
                                                              {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$dlopen_support'))}
                                                            )
                                                            (C {(test)} {(no)} {(Lit_Other '=')} 
                                                              {
                                                                (DQ 
                                                                  ($ VSub_Name '$build_libtool_libs')
                                                                )
                                                              }
                                                            )
                                                          ]
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_append)} {(newdlprefiles)} 
                                                      {(DQ (' ') ($ VSub_Name '$deplib'))}
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:compile_deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$deplib') (' ') 
                                                                ($ VSub_Name '$compile_deplibs')
                                                              )
                                                            }
                                                          spids: [36999]
                                                        )
                                                      ]
                                                      spids: [36999]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:finalize_deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$deplib') (' ') 
                                                                ($ VSub_Name '$finalize_deplibs')
                                                              )
                                                            }
                                                          spids: [37007]
                                                        )
                                                      ]
                                                      spids: [37007]
                                                    )
                                                  ]
                                                  spids: [16777215 36978]
                                                )
                                              ]
                                              else_action: [
                                                (C {(func_append)} {(newdlfiles)} 
                                                  {(DQ (' ') ($ VSub_Name '$deplib'))}
                                                )
                                              ]
                                              spids: [37015 37028]
                                            )
                                          ]
                                          spids: [36924 36937]
                                        )
                                      ]
                                      spids: [16777215 37031]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [36889 36897 37037 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '%') (DEPLIBS) (Lit_Other '%')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:alldeplibs)
                                          op: Equal
                                          rhs: {(Lit_Other ':')}
                                          spids: [37046]
                                        )
                                      ]
                                      spids: [37046]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [37040 37043 37053 16777215]
                                )
                              ]
                              spids: [35341 35345 37056]
                            )
                            (AndOr
                              ops: [Op_DPipe Op_DPipe]
                              children: [
                                (C {($ VSub_Name '$found')})
                                (C {(test)} {(-f)} {(DQ ($ VSub_Name '$lib'))})
                                (C {(func_fatal_error)} 
                                  {
                                    (DQ ("cannot find the library '") ($ VSub_Name '$lib') 
                                      ("' or unhandled argument '") ($ VSub_Name '$deplib') ("'")
                                    )
                                  }
                                )
                              ]
                            )
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(func_lalib_unsafe_p)} {(DQ ($ VSub_Name '$lib'))})
                                (C {(func_fatal_error)} 
                                  {
                                    (DQ ("'") ($ VSub_Name '$lib') ("' is not a valid libtool archive"))
                                  }
                                )
                              ]
                            )
                            (C {(func_dirname)} {(DQ ($ VSub_Name '$lib'))} {(DQ )} {(DQ (.))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:ladir)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_dirname_result')}
                                  spids: [37129]
                                )
                              ]
                              spids: [37129]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dlname)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [37134]
                                )
                              ]
                              spids: [37134]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dlopen)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [37137]
                                )
                              ]
                              spids: [37137]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dlpreopen)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [37140]
                                )
                              ]
                              spids: [37140]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libdir)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [37143]
                                )
                              ]
                              spids: [37143]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:library_names)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [37146]
                                )
                              ]
                              spids: [37146]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:old_library)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [37149]
                                )
                              ]
                              spids: [37149]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:inherited_linker_flags)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [37152]
                                )
                              ]
                              spids: [37152]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:installed)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [37163]
                                )
                              ]
                              spids: [37163]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:shouldnotlink)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [37167]
                                )
                              ]
                              spids: [37167]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:avoidtemprpath)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [37171]
                                )
                              ]
                              spids: [37171]
                            )
                            (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: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [37207 37221]
                                              )
                                            }
                                          spids: [37206]
                                        )
                                      ]
                                      spids: [37206]
                                    )
                                    (ForEach
                                      iter_name: tmp_inherited_linker_flag
                                      iter_words: [{($ VSub_Name '$tmp_inherited_linker_flags')}]
                                      do_arg_iter: F
                                      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: [37247 37254 37256 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (C {(func_append)} {(new_inherited_linker_flags)} 
                                                      {
                                                        (DQ (' ') 
                                                          ($ VSub_Name '$tmp_inherited_linker_flag')
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [37259 37260 37270 16777215]
                                                )
                                              ]
                                              spids: [37236 37244 37273]
                                            )
                                          ]
                                          spids: [37233 37276]
                                        )
                                      spids: [37229 37231]
                                    )
                                  ]
                                  spids: [16777215 37203]
                                )
                              ]
                              spids: [16777215 37279]
                            )
                            (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: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [37283 37298]
                                      )
                                    }
                                  spids: [37282]
                                )
                              ]
                              spids: [37282]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          ops: [Op_DPipe Op_DPipe]
                                          children: [
                                            (C {(test)} {(lib) (Lit_Comma ',') (link)} {(Lit_Other '=')} 
                                              {
                                                (DQ ($ VSub_Name '$linkmode') (',') 
                                                  ($ VSub_Name '$pass')
                                                )
                                              }
                                            )
                                            (C {(test)} {(prog) (Lit_Comma ',') (scan)} 
                                              {(Lit_Other '=')} {(DQ ($ VSub_Name '$linkmode') (',') ($ VSub_Name '$pass'))}
                                            )
                                            (BraceGroup
                                              children: [
                                                (Sentence
                                                  child: 
                                                    (AndOr
                                                      ops: [Op_DAmp]
                                                      children: [
                                                        (C {(test)} {(prog)} 
                                                          {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$linkmode'))}
                                                        )
                                                        (C {(test)} {(lib)} 
                                                          {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$linkmode'))}
                                                        )
                                                      ]
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              spids: [37337]
                                            )
                                          ]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (AndOr
                                      ops: [Op_DAmp]
                                      children: [
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$dlopen'))})
                                        (C {(func_append)} {(dlfiles)} 
                                          {(DQ (' ') ($ VSub_Name '$dlopen'))}
                                        )
                                      ]
                                    )
                                    (AndOr
                                      ops: [Op_DAmp]
                                      children: [
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$dlpreopen'))})
                                        (C {(func_append)} {(dlprefiles)} 
                                          {(DQ (' ') ($ VSub_Name '$dlpreopen'))}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16777215 37367]
                                )
                              ]
                              spids: [16777215 37410]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(conv)} {(Lit_Other '=')} 
                                          {(DQ ($ VSub_Name '$pass'))}
                                        )
                                      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: [37434]
                                        )
                                      ]
                                      spids: [37434]
                                    )
                                    (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 '"
                                                          ) ($ VSub_Name '$lib') ("'")
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [16777215 37467]
                                                )
                                              ]
                                              spids: [16777215 37479]
                                            )
                                            (C {(func_append)} {(convenience)} 
                                              {
                                                (DQ (' ') ($ VSub_Name '$ladir') (/) 
                                                  ($ VSub_Name '$objdir') (/) ($ VSub_Name '$old_library')
                                                )
                                              }
                                            )
                                            (C {(func_append)} {(old_convenience)} 
                                              {
                                                (DQ (' ') ($ VSub_Name '$ladir') (/) 
                                                  ($ VSub_Name '$objdir') (/) ($ VSub_Name '$old_library')
                                                )
                                              }
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:tmp_libs)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [37514]
                                                )
                                              ]
                                              spids: [37514]
                                            )
                                            (ForEach
                                              iter_name: deplib
                                              iter_words: [{($ VSub_Name '$dependency_libs')}]
                                              do_arg_iter: F
                                              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: [37529]
                                                        )
                                                      ]
                                                      spids: [37529]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C 
                                                                  {
                                                                    ($ VSub_Name 
'$opt_preserve_dup_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: [
                                                                    (C {(func_append)} 
                                                                      {(specialdeplibs)} {(DQ (' ') ($ VSub_Name '$deplib'))}
                                                                    )
                                                                  ]
                                                                  spids: [37555 37562 37573 16777215]
                                                                )
                                                              ]
                                                              spids: [37545 37552 37576]
                                                            )
                                                          ]
                                                          spids: [16777215 37542]
                                                        )
                                                      ]
                                                      spids: [16777215 37579]
                                                    )
                                                    (C {(func_append)} {(tmp_libs)} 
                                                      {(DQ (' ') ($ VSub_Name '$deplib'))}
                                                    )
                                                  ]
                                                  spids: [37526 37592]
                                                )
                                              spids: [37522 37524]
                                            )
                                          ]
                                          spids: [16777215 37453]
                                        )
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(prog)} {(KW_Bang '!') (Lit_Other '=')} 
                                                      {(DQ ($ VSub_Name '$linkmode'))}
                                                    )
                                                    (C {(test)} {(lib)} {(KW_Bang '!') (Lit_Other '=')} 
                                                      {(DQ ($ VSub_Name '$linkmode'))}
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_fatal_error)} 
                                              {
                                                (DQ ("'") ($ VSub_Name '$lib') 
                                                  ("' is not a convenience library")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [37595 37622]
                                        )
                                      ]
                                      spids: [16777215 37634]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [16777215 37427]
                                )
                              ]
                              spids: [16777215 37640]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:linklib)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [37652]
                                )
                              ]
                              spids: [37652]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          ops: [Op_DAmp]
                                          children: [
                                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$old_library'))})
                                            (BraceGroup
                                              children: [
                                                (Sentence
                                                  child: 
                                                    (AndOr
                                                      ops: [Op_DPipe]
                                                      children: [
                                                        (C {(test)} {(yes)} {(Lit_Other '=')} 
                                                          {(DQ ($ VSub_Name '$prefer_static_libs'))}
                                                        )
                                                        (C {(test)} {(built) (Lit_Comma ',') (no)} 
                                                          {(Lit_Other '=')} {(DQ ($ VSub_Name '$prefer_static_libs') (',') ($ VSub_Name '$installed'))}
                                                        )
                                                      ]
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              spids: [37668]
                                            )
                                          ]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:linklib)
                                          op: Equal
                                          rhs: {($ VSub_Name '$old_library')}
                                          spids: [37704]
                                        )
                                      ]
                                      spids: [37704]
                                    )
                                  ]
                                  spids: [16777215 37701]
                                )
                              ]
                              else_action: [
                                (ForEach
                                  iter_name: l
                                  iter_words: [
                                    {($ VSub_Name '$old_library')}
                                    {($ VSub_Name '$library_names')}
                                  ]
                                  do_arg_iter: F
                                  body: 
                                    (DoGroup
                                      children: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:linklib)
                                              op: Equal
                                              rhs: {($ VSub_Name '$l')}
                                              spids: [37725]
                                            )
                                          ]
                                          spids: [37725]
                                        )
                                      ]
                                      spids: [37722 37729]
                                    )
                                  spids: [37716 37720]
                                )
                              ]
                              spids: [37708 37732]
                            )
                            (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 '") 
                                          ($ VSub_Name '$lib') ("'")
                                        )
                                      }
                                    )
                                  ]
                                  spids: [16777215 37746]
                                )
                              ]
                              spids: [16777215 37758]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(dlopen)} {(Lit_Other '=')} 
                                          {(DQ ($ VSub_Name '$pass'))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (AndOr
                                      ops: [Op_DAmp]
                                      children: [
                                        (C {(test)} {(-z)} {(DQ ($ VSub_Name '$libdir'))})
                                        (C {(func_fatal_error)} 
                                          {
                                            (DQ ("cannot -dlopen a convenience library: '") 
                                              ($ VSub_Name '$lib') ("'")
                                            )
                                          }
                                        )
                                      ]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (AndOr
                                              ops: [Op_DPipe Op_DPipe]
                                              children: [
                                                (C {(test)} {(-z)} {(DQ ($ VSub_Name '$dlname'))})
                                                (C {(test)} {(yes)} {(KW_Bang '!') (Lit_Other '=')} 
                                                  {(DQ ($ VSub_Name '$dlopen_support'))}
                                                )
                                                (C {(test)} {(no)} {(Lit_Other '=')} 
                                                  {(DQ ($ VSub_Name '$build_libtool_libs'))}
                                                )
                                              ]
                                            )
                                          ]
                                          action: [
                                            (C {(func_append)} {(dlprefiles)} 
                                              {
                                                (DQ (' ') ($ VSub_Name '$lib') (' ') 
                                                  ($ VSub_Name '$dependency_libs')
                                                )
                                              }
                                            )
                                          ]
                                          spids: [16777215 37841]
                                        )
                                      ]
                                      else_action: [
                                        (C {(func_append)} {(newdlfiles)} 
                                          {(DQ (' ') ($ VSub_Name '$lib'))}
                                        )
                                      ]
                                      spids: [37872 37885]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [16777215 37779]
                                )
                              ]
                              spids: [16777215 37891]
                            )
                            (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: {($ VSub_Name '$ladir')}
                                          spids: [37928]
                                        )
                                      ]
                                      spids: [37928]
                                    )
                                  ]
                                  spids: [37909 37926 37931 16777215]
                                )
                                (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
                                                        ops: [Op_DAmp]
                                                        children: [
                                                          (C {(cd)} {(DQ ($ VSub_Name '$ladir'))})
                                                          (C {(pwd)})
                                                        ]
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [37939 37949]
                                              )
                                            }
                                          spids: [37938]
                                        )
                                      ]
                                      spids: [37938]
                                    )
                                    (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 '") 
                                                  ($ 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: {($ VSub_Name '$ladir')}
                                                  spids: [37982]
                                                )
                                              ]
                                              spids: [37982]
                                            )
                                          ]
                                          spids: [16777215 37963]
                                        )
                                      ]
                                      spids: [16777215 37986]
                                    )
                                  ]
                                  spids: [37934 37935 37989 16777215]
                                )
                              ]
                              spids: [37902 37906 37992]
                            )
                            (C {(func_basename)} {(DQ ($ VSub_Name '$lib'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:laname)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_basename_result')}
                                  spids: [38002]
                                )
                              ]
                              spids: [38002]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(yes)} {(Lit_Other '=')} 
                                          {(DQ ($ VSub_Name '$installed'))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(KW_Bang '!')} {(-f)} 
                                                      {
                                                        (DQ ($ VSub_Name '$lt_sysroot') 
                                                          ($ VSub_Name '$libdir') (/) ($ VSub_Name '$linklib')
                                                        )
                                                      }
                                                    )
                                                    (C {(test)} {(-f)} 
                                                      {
                                                        (DQ ($ VSub_Name '$abs_ladir') (/) 
                                                          ($ VSub_Name '$linklib')
                                                        )
                                                      }
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_warning)} 
                                              {
                                                (DQ ("library '") ($ VSub_Name '$lib') ("' was moved."))
                                              }
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dir)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$ladir')}
                                                  spids: [38067]
                                                )
                                              ]
                                              spids: [38067]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:absdir)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$abs_ladir')}
                                                  spids: [38071]
                                                )
                                              ]
                                              spids: [38071]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:libdir)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$abs_ladir')}
                                                  spids: [38075]
                                                )
                                              ]
                                              spids: [38075]
                                            )
                                          ]
                                          spids: [16777215 38055]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:dir)
                                              op: Equal
                                              rhs: 
                                                {($ VSub_Name '$lt_sysroot') ($ VSub_Name '$libdir')}
                                              spids: [38082]
                                            )
                                          ]
                                          spids: [38082]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:absdir)
                                              op: Equal
                                              rhs: 
                                                {($ VSub_Name '$lt_sysroot') ($ VSub_Name '$libdir')}
                                              spids: [38087]
                                            )
                                          ]
                                          spids: [38087]
                                        )
                                      ]
                                      spids: [38079 38092]
                                    )
                                    (AndOr
                                      ops: [Op_DAmp]
                                      children: [
                                        (C {(test)} {(yes)} {(Lit_Other '=')} 
                                          {(DQ ($ VSub_Name '$hardcode_automatic'))}
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:avoidtemprpath)
                                              op: Equal
                                              rhs: {(yes)}
                                              spids: [38107]
                                            )
                                          ]
                                          spids: [38107]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16777215 38024]
                                )
                              ]
                              else_action: [
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (AndOr
                                              ops: [Op_DAmp]
                                              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')
                                                    )
                                                  }
                                                )
                                              ]
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:dir)
                                              op: Equal
                                              rhs: {($ VSub_Name '$ladir')}
                                              spids: [38146]
                                            )
                                          ]
                                          spids: [38146]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:absdir)
                                              op: Equal
                                              rhs: {($ VSub_Name '$abs_ladir')}
                                              spids: [38150]
                                            )
                                          ]
                                          spids: [38150]
                                        )
                                        (C {(func_append)} {(notinst_path)} 
                                          {(DQ (' ') ($ VSub_Name '$abs_ladir'))}
                                        )
                                      ]
                                      spids: [16777215 38143]
                                    )
                                  ]
                                  else_action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dir)
                                          op: Equal
                                          rhs: {($ VSub_Name '$ladir') (/) ($ VSub_Name '$objdir')}
                                          spids: [38171]
                                        )
                                      ]
                                      spids: [38171]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:absdir)
                                          op: Equal
                                          rhs: 
                                            {($ VSub_Name '$abs_ladir') (/) ($ VSub_Name '$objdir')}
                                          spids: [38177]
                                        )
                                      ]
                                      spids: [38177]
                                    )
                                    (C {(func_append)} {(notinst_path)} 
                                      {(DQ (' ') ($ VSub_Name '$abs_ladir'))}
                                    )
                                  ]
                                  spids: [38168 38197]
                                )
                              ]
                              spids: [38111 38200]
                            )
                            (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: [38221]
                                )
                              ]
                              spids: [38221]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(dlpreopen)} {(Lit_Other '=')} 
                                          {(DQ ($ VSub_Name '$pass'))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(-z)} {(DQ ($ VSub_Name '$libdir'))})
                                                    (C {(test)} {(prog)} {(Lit_Other '=')} 
                                                      {(DQ ($ VSub_Name '$linkmode'))}
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_fatal_error)} 
                                              {
                                                (DQ 
                                                  (
"only libraries may -dlpreopen a convenience library: '"
                                                  ) ($ VSub_Name '$lib') ("'")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [16777215 38269]
                                        )
                                      ]
                                      spids: [16777215 38281]
                                    )
                                    (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)} {(-n)} {(DQ ($ VSub_Name '$dlname'))})
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_tr_sh)} 
                                                      {
                                                        (DQ ($ VSub_Name '$dir') (/) 
                                                          ($ VSub_Name '$linklib')
                                                        )
                                                      }
                                                    )
                                                    (C {(eval)} 
                                                      {
                                                        (DQ (libfile_) 
                                                          ($ VSub_Name '$func_tr_sh_result') ('=') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (abs_ladir/) 
                                                          (EscapedLiteralPart
                                                            token: <Lit_EscapedChar '\\$'>
                                                          ) (laname)
                                                        )
                                                      }
                                                    )
                                                    (C {(func_append)} {(newdlprefiles)} 
                                                      {
                                                        (DQ (' ') ($ VSub_Name '$dir') (/) 
                                                          ($ VSub_Name '$linklib')
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [16777215 38357]
                                                )
                                              ]
                                              else_action: [
                                                (C {(func_append)} {(newdlprefiles)} 
                                                  {
                                                    (DQ (' ') ($ VSub_Name '$dir') (/) 
                                                      ($ VSub_Name '$old_library')
                                                    )
                                                  }
                                                )
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(-z)} {(DQ ($ VSub_Name '$libdir'))})
                                                    (C {(func_append)} {(dlpreconveniencelibs)} 
                                                      {
                                                        (DQ (' ') ($ VSub_Name '$dir') (/) 
                                                          ($ VSub_Name '$old_library')
                                                        )
                                                      }
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [38394 38441]
                                            )
                                          ]
                                          spids: [38295 38311 38444 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-n)} 
                                                          {(DQ ($ VSub_Name '$old_library'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_append)} {(newdlprefiles)} 
                                                      {
                                                        (DQ (' ') ($ VSub_Name '$dir') (/) 
                                                          ($ VSub_Name '$old_library')
                                                        )
                                                      }
                                                    )
                                                    (AndOr
                                                      ops: [Op_DAmp]
                                                      children: [
                                                        (C {(test)} {(-z)} {(DQ ($ VSub_Name '$libdir'))})
                                                        (C {(func_append)} {(dlpreconveniencelibs)} 
                                                          {
                                                            (DQ (' ') ($ VSub_Name '$dir') (/) 
                                                              ($ VSub_Name '$old_library')
                                                            )
                                                          }
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  spids: [16777215 38471]
                                                )
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$dlname'))})
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_append)} {(newdlprefiles)} 
                                                      {
                                                        (DQ (' ') ($ VSub_Name '$dir') (/) 
                                                          ($ VSub_Name '$dlname')
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [38522 38533]
                                                )
                                              ]
                                              else_action: [
                                                (C {(func_append)} {(newdlprefiles)} 
                                                  {
                                                    (DQ (' ') ($ VSub_Name '$dir') (/) 
                                                      ($ VSub_Name '$linklib')
                                                    )
                                                  }
                                                )
                                              ]
                                              spids: [38548 38563]
                                            )
                                          ]
                                          spids: [38447 38449 38566 16777215]
                                        )
                                      ]
                                      spids: [38284 38288 38569]
                                    )
                                  ]
                                  spids: [16777215 38243]
                                )
                              ]
                              spids: [16777215 38572]
                            )
                            (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)} {(lib)} {(Lit_Other '=')} 
                                                  {(DQ ($ VSub_Name '$linkmode'))}
                                                )
                                              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: [38613]
                                                )
                                              ]
                                              spids: [38613]
                                            )
                                          ]
                                          spids: [16777215 38610]
                                        )
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(prog) (Lit_Comma ',') (link)} 
                                                  {(Lit_Other '=')} {(DQ ($ VSub_Name '$linkmode') (',') ($ VSub_Name '$pass'))}
                                                )
                                              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: [38643]
                                                )
                                              ]
                                              spids: [38643]
                                            )
                                            (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: [38653]
                                                )
                                              ]
                                              spids: [38653]
                                            )
                                          ]
                                          spids: [38623 38640]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:deplibs)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$lib') (' ') 
                                                    ($ VSub_Name '$deplibs')
                                                  )
                                                }
                                              spids: [38666]
                                            )
                                          ]
                                          spids: [38666]
                                        )
                                      ]
                                      spids: [38663 38677]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [16777215 38590]
                                )
                              ]
                              spids: [16777215 38683]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          ops: [Op_DAmp]
                                          children: [
                                            (C {(test)} {(prog)} {(Lit_Other '=')} 
                                              {(DQ ($ VSub_Name '$linkmode'))}
                                            )
                                            (C {(test)} {(link)} {(KW_Bang '!') (Lit_Other '=')} 
                                              {(DQ ($ VSub_Name '$pass'))}
                                            )
                                          ]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_append)} {(newlib_search_path)} 
                                      {(DQ (' ') ($ VSub_Name '$ladir'))}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:deplibs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$lib') (' ') ($ VSub_Name '$deplibs'))
                                            }
                                          spids: [38727]
                                        )
                                      ]
                                      spids: [38727]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:linkalldeplibs)
                                          op: Equal
                                          rhs: {(false)}
                                          spids: [38736]
                                        )
                                      ]
                                      spids: [38736]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DPipe Op_DPipe]
                                                  children: [
                                                    (C {(test)} {(no)} {(KW_Bang '!') (Lit_Other '=')} 
                                                      {(DQ ($ VSub_Name '$link_all_deplibs'))}
                                                    )
                                                    (C {(test)} {(-z)} 
                                                      {(DQ ($ VSub_Name '$library_names'))}
                                                    )
                                                    (C {(test)} {(no)} {(Lit_Other '=')} 
                                                      {(DQ ($ VSub_Name '$build_libtool_libs'))}
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:linkalldeplibs)
                                                  op: Equal
                                                  rhs: {(Lit_Other ':')}
                                                  spids: [38780]
                                                )
                                              ]
                                              spids: [38780]
                                            )
                                          ]
                                          spids: [16777215 38777]
                                        )
                                      ]
                                      spids: [16777215 38784]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_libs)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [38788]
                                        )
                                      ]
                                      spids: [38788]
                                    )
                                    (ForEach
                                      iter_name: deplib
                                      iter_words: [{($ VSub_Name '$dependency_libs')}]
                                      do_arg_iter: F
                                      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'))}
                                                    )
                                                    (C {(func_resolve_sysroot)} 
                                                      {(DQ ($ VSub_Name '$func_stripname_result'))}
                                                    )
                                                    (C {(func_append)} {(newlib_search_path)} 
                                                      {
                                                        (DQ (' ') 
                                                          ($ VSub_Name '$func_resolve_sysroot_result')
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [38810 38812 38845 16777215]
                                                )
                                              ]
                                              spids: [38803 38807 38848]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: (C {($ VSub_Name '$linkalldeplibs')})
                                                      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: [38863]
                                                        )
                                                      ]
                                                      spids: [38863]
                                                    )
                                                  ]
                                                  spids: [16777215 38860]
                                                )
                                              ]
                                              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: [38882]
                                                    )
                                                  ]
                                                  spids: [38882]
                                                )
                                              ]
                                              spids: [38871 38890]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {($ VSub_Name '$opt_preserve_dup_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: [
                                                            (C {(func_append)} {(specialdeplibs)} 
                                                              {(DQ (' ') ($ VSub_Name '$deplib'))}
                                                            )
                                                          ]
                                                          spids: [38911 38918 38929 16777215]
                                                        )
                                                      ]
                                                      spids: [38901 38908 38932]
                                                    )
                                                  ]
                                                  spids: [16777215 38898]
                                                )
                                              ]
                                              spids: [16777215 38935]
                                            )
                                            (C {(func_append)} {(tmp_libs)} 
                                              {(DQ (' ') ($ VSub_Name '$deplib'))}
                                            )
                                          ]
                                          spids: [38800 38948]
                                        )
                                      spids: [38796 38798]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [16777215 38714]
                                )
                              ]
                              spids: [16777215 38957]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(prog) (Lit_Comma ',') (link)} {(Lit_Other '=')} 
                                          {
                                            (DQ ($ VSub_Name '$linkmode') (',') ($ VSub_Name '$pass'))
                                          }
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$library_names'))}
                                                    )
                                                    (BraceGroup
                                                      children: [
                                                        (Sentence
                                                          child: 
                                                            (AndOr
                                                              ops: [Op_DPipe]
                                                              children: [
                                                                (BraceGroup
                                                                  children: [
                                                                    (Sentence
                                                                      child: 
                                                                        (AndOr
                                                                          ops: [Op_DPipe]
                                                                          children: [
                                                                            (C {(test)} {(no)} 
                                                                              {(Lit_Other '=')} {(DQ ($ VSub_Name '$prefer_static_libs'))}
                                                                            )
                                                                            (C {(test)} 
                                                                              {(built) 
                                                                                (Lit_Comma ',') (yes)
                                                                              } {(Lit_Other '=')} {(DQ ($ VSub_Name '$prefer_static_libs') (',') ($ VSub_Name '$installed'))}
                                                                            )
                                                                          ]
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  spids: [38999]
                                                                )
                                                                (C {(test)} {(-z)} 
                                                                  {(DQ ($ VSub_Name '$old_library'))}
                                                                )
                                                              ]
                                                            )
                                                          terminator: <Op_Semi ';'>
                                                        )
                                                      ]
                                                      spids: [38997]
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (AndOr
                                                          ops: [Op_DAmp]
                                                          children: [
                                                            (C {(test)} {(-n)} 
                                                              {(DQ ($ VSub_Name '$shlibpath_var'))}
                                                            )
                                                            (C {(test)} {(-z)} 
                                                              {(DQ ($ VSub_Name '$avoidtemprpath'))}
                                                            )
                                                          ]
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Case
                                                      to_match: 
                                                        {($ VSub_Name '$temp_rpath') (Lit_Other ':')}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other '*') 
                                                              (DQ ($ VSub_Name '$absdir') (':')) (Lit_Other '*')
                                                            }
                                                          ]
                                                          spids: [39089 39095 39097 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (C {(func_append)} {(temp_rpath)} 
                                                              {(DQ ($ VSub_Name '$absdir') (':'))}
                                                            )
                                                          ]
                                                          spids: [39100 39101 39112 16777215]
                                                        )
                                                      ]
                                                      spids: [39081 39086 39115]
                                                    )
                                                  ]
                                                  spids: [16777215 39074]
                                                )
                                              ]
                                              spids: [16777215 39118]
                                            )
                                            (Case
                                              to_match: 
                                                {
                                                  (DQ (' ') ($ VSub_Name '$sys_lib_dlsearch_path') 
                                                    (' ')
                                                  )
                                                }
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other '*') 
                                                      (DQ (' ') ($ VSub_Name '$absdir') (' ')) (Lit_Other '*')
                                                    }
                                                  ]
                                                  spids: [39145 39152 39154 16777215]
                                                )
                                                (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: [39171 39178 39180 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (C {(func_append)} {(compile_rpath)} 
                                                              {(DQ (' ') ($ VSub_Name '$absdir'))}
                                                            )
                                                          ]
                                                          spids: [39183 39184 39195 16777215]
                                                        )
                                                      ]
                                                      spids: [39161 39168 39198]
                                                    )
                                                  ]
                                                  spids: [39157 39158 39201 16777215]
                                                )
                                              ]
                                              spids: [39134 39142 39204]
                                            )
                                            (Case
                                              to_match: 
                                                {
                                                  (DQ (' ') ($ VSub_Name '$sys_lib_dlsearch_path') 
                                                    (' ')
                                                  )
                                                }
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other '*') 
                                                      (DQ (' ') ($ VSub_Name '$libdir') (' ')) (Lit_Other '*')
                                                    }
                                                  ]
                                                  spids: [39218 39225 39227 16777215]
                                                )
                                                (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: [39244 39251 39253 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (C {(func_append)} {(finalize_rpath)} 
                                                              {(DQ (' ') ($ VSub_Name '$libdir'))}
                                                            )
                                                          ]
                                                          spids: [39256 39257 39268 16777215]
                                                        )
                                                      ]
                                                      spids: [39234 39241 39271]
                                                    )
                                                  ]
                                                  spids: [39230 39231 39274 16777215]
                                                )
                                              ]
                                              spids: [39207 39215 39277]
                                            )
                                          ]
                                          spids: [16777215 39046]
                                        )
                                      ]
                                      spids: [16777215 39280]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {($ VSub_Name '$alldeplibs')})
                                                    (BraceGroup
                                                      children: [
                                                        (Sentence
                                                          child: 
                                                            (AndOr
                                                              ops: [Op_DPipe]
                                                              children: [
                                                                (C {(test)} {(pass_all)} 
                                                                  {(Lit_Other '=')} {(DQ ($ VSub_Name '$deplibs_check_method'))}
                                                                )
                                                                (BraceGroup
                                                                  children: [
                                                                    (Sentence
                                                                      child: 
                                                                        (AndOr
                                                                          ops: [Op_DAmp]
                                                                          children: [
                                                                            (C {(test)} {(yes)} 
                                                                              {(Lit_Other '=')} {(DQ ($ VSub_Name '$build_libtool_libs'))}
                                                                            )
                                                                            (C {(test)} {(-n)} 
                                                                              {
                                                                                (DQ 
                                                                                  ($ VSub_Name 
'$library_names'
                                                                                  )
                                                                                )
                                                                              }
                                                                            )
                                                                          ]
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  spids: [39309]
                                                                )
                                                              ]
                                                            )
                                                          terminator: <Op_Semi ';'>
                                                        )
                                                      ]
                                                      spids: [39294]
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                                          spids: [16777215 39339]
                                        )
                                      ]
                                      spids: [16777215 39349]
                                    )
                                  ]
                                  spids: [16777215 38981]
                                )
                              ]
                              spids: [16777215 39352]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:link_static)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [39356]
                                )
                              ]
                              spids: [39356]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:use_static_libs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$prefer_static_libs')}
                                  spids: [39363]
                                )
                              ]
                              spids: [39363]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          ops: [Op_DAmp]
                                          children: [
                                            (C {(test)} {(built)} {(Lit_Other '=')} 
                                              {(DQ ($ VSub_Name '$use_static_libs'))}
                                            )
                                            (C {(test)} {(yes)} {(Lit_Other '=')} 
                                              {(DQ ($ VSub_Name '$installed'))}
                                            )
                                          ]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:use_static_libs)
                                          op: Equal
                                          rhs: {(no)}
                                          spids: [39395]
                                        )
                                      ]
                                      spids: [39395]
                                    )
                                  ]
                                  spids: [16777215 39392]
                                )
                              ]
                              spids: [16777215 39399]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          ops: [Op_DAmp]
                                          children: [
                                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$library_names'))})
                                            (BraceGroup
                                              children: [
                                                (Sentence
                                                  child: 
                                                    (AndOr
                                                      ops: [Op_DPipe]
                                                      children: [
                                                        (C {(test)} {(no)} {(Lit_Other '=')} 
                                                          {(DQ ($ VSub_Name '$use_static_libs'))}
                                                        )
                                                        (C {(test)} {(-z)} 
                                                          {(DQ ($ VSub_Name '$old_library'))}
                                                        )
                                                      ]
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              spids: [39415]
                                            )
                                          ]
                                        )
                                      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 '*')}
                                            {(Lit_Other '*') (os2) (Lit_Other '*')}
                                          ]
                                          action: [
                                            (C {(func_append)} {(notinst_deplibs)} 
                                              {(DQ (' ') ($ VSub_Name '$lib'))}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:need_relink)
                                                  op: Equal
                                                  rhs: {(no)}
                                                  spids: [39489]
                                                )
                                              ]
                                              spids: [39489]
                                            )
                                          ]
                                          spids: [39451 39472 39493 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(no)} {(Lit_Other '=')} 
                                                          {(DQ ($ VSub_Name '$installed'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_append)} {(notinst_deplibs)} 
                                                      {(DQ (' ') ($ VSub_Name '$lib'))}
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:need_relink)
                                                          op: Equal
                                                          rhs: {(yes)}
                                                          spids: [39526]
                                                        )
                                                      ]
                                                      spids: [39526]
                                                    )
                                                  ]
                                                  spids: [16777215 39513]
                                                )
                                              ]
                                              spids: [16777215 39530]
                                            )
                                          ]
                                          spids: [39496 39497 39533 16777215]
                                        )
                                      ]
                                      spids: [39444 39448 39536]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dlopenmodule)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [39552]
                                        )
                                      ]
                                      spids: [39552]
                                    )
                                    (ForEach
                                      iter_name: dlpremoduletest
                                      iter_words: [{($ VSub_Name '$dlprefiles')}]
                                      do_arg_iter: F
                                      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: {($ VSub_Name '$dlpremoduletest')}
                                                          spids: [39587]
                                                        )
                                                      ]
                                                      spids: [39587]
                                                    )
                                                    (ControlFlow
                                                      token: <ControlFlow_Break break>
                                                    )
                                                  ]
                                                  spids: [16777215 39584]
                                                )
                                              ]
                                              spids: [16777215 39594]
                                            )
                                          ]
                                          spids: [39564 39597]
                                        )
                                      spids: [39560 39562]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(-z)} 
                                                      {(DQ ($ VSub_Name '$dlopenmodule'))}
                                                    )
                                                    (C {(test)} {(yes)} {(Lit_Other '=')} 
                                                      {(DQ ($ VSub_Name '$shouldnotlink'))}
                                                    )
                                                    (C {(test)} {(link)} {(Lit_Other '=')} 
                                                      {(DQ ($ VSub_Name '$pass'))}
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(echo)})
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(prog)} {(Lit_Other '=')} 
                                                          {(DQ ($ VSub_Name '$linkmode'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {($ VSub_Name '$ECHO')} 
                                                      {
                                                        (DQ ('*** Warning: Linking the executable ') 
                                                          ($ VSub_Name '$output') (' against the loadable module')
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [16777215 39654]
                                                )
                                              ]
                                              else_action: [
                                                (C {($ VSub_Name '$ECHO')} 
                                                  {
                                                    (DQ ('*** Warning: Linking the shared library ') 
                                                      ($ VSub_Name '$output') (' against the loadable module')
                                                    )
                                                  }
                                                )
                                              ]
                                              spids: [39666 39678]
                                            )
                                            (C {($ VSub_Name '$ECHO')} 
                                              {
                                                (DQ ('*** ') ($ VSub_Name '$linklib') 
                                                  (' is not portable!')
                                                )
                                              }
                                            )
                                          ]
                                          spids: [16777215 39635]
                                        )
                                      ]
                                      spids: [16777215 39690]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(lib)} {(Lit_Other '=')} 
                                                      {(DQ ($ VSub_Name '$linkmode'))}
                                                    )
                                                    (C {(test)} {(yes)} {(Lit_Other '=')} 
                                                      {(DQ ($ VSub_Name '$hardcode_into_libs'))}
                                                    )
                                                  ]
                                                )
                                              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: [39745 39752 39754 16777215]
                                                )
                                                (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: [39771 39778 39780 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (C {(func_append)} {(compile_rpath)} 
                                                              {(DQ (' ') ($ VSub_Name '$absdir'))}
                                                            )
                                                          ]
                                                          spids: [39783 39784 39795 16777215]
                                                        )
                                                      ]
                                                      spids: [39761 39768 39798]
                                                    )
                                                  ]
                                                  spids: [39757 39758 39801 16777215]
                                                )
                                              ]
                                              spids: [39734 39742 39804]
                                            )
                                            (Case
                                              to_match: 
                                                {
                                                  (DQ (' ') ($ VSub_Name '$sys_lib_dlsearch_path') 
                                                    (' ')
                                                  )
                                                }
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other '*') 
                                                      (DQ (' ') ($ VSub_Name '$libdir') (' ')) (Lit_Other '*')
                                                    }
                                                  ]
                                                  spids: [39818 39825 39827 16777215]
                                                )
                                                (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: [39844 39851 39853 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (C {(func_append)} {(finalize_rpath)} 
                                                              {(DQ (' ') ($ VSub_Name '$libdir'))}
                                                            )
                                                          ]
                                                          spids: [39856 39857 39868 16777215]
                                                        )
                                                      ]
                                                      spids: [39834 39841 39871]
                                                    )
                                                  ]
                                                  spids: [39830 39831 39874 16777215]
                                                )
                                              ]
                                              spids: [39807 39815 39877]
                                            )
                                          ]
                                          spids: [16777215 39719]
                                        )
                                      ]
                                      spids: [16777215 39880]
                                    )
                                    (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: {($ VSub_Number '$1')}
                                                  spids: [39912]
                                                )
                                              ]
                                              spids: [39912]
                                            )
                                            (C {(shift)})
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:libname)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [
                                                              (C {(eval)} 
                                                                {
                                                                  (DQ 
                                                                    (EscapedLiteralPart
                                                                      token: <Lit_EscapedChar '\\\\'>
                                                                    ) ($ VSub_Name '$ECHO') (' ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                                                    ($ VSub_Name '$libname_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                                  )
                                                                }
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick '`'>
                                                        spids: [39920 39931]
                                                      )
                                                    }
                                                  spids: [39919]
                                                )
                                              ]
                                              spids: [39919]
                                            )
                                            (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: {($ VSub_Name '$dlname')}
                                                          spids: [39952]
                                                        )
                                                      ]
                                                      spids: [39952]
                                                    )
                                                  ]
                                                  spids: [16777215 39949]
                                                )
                                                (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 '*')}
                                                            {(Lit_Other '*') (os2) (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: [40013]
                                                                )
                                                              ]
                                                              spids: [40013]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:versuffix)
                                                                  op: Equal
                                                                  rhs: {(-) ($ VSub_Name '$major')}
                                                                  spids: [40017]
                                                                )
                                                              ]
                                                              spids: [40017]
                                                            )
                                                          ]
                                                          spids: [39981 40001 40022 16777215]
                                                        )
                                                      ]
                                                      spids: [39974 39978 40025]
                                                    )
                                                    (C {(eval)} 
                                                      {(Lit_VarLike 'soname=') 
                                                        (EscapedLiteralPart
                                                          token: <Lit_EscapedChar '\\"'>
                                                        ) ($ VSub_Name '$soname_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                      }
                                                    )
                                                  ]
                                                  spids: [39956 39967]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:soname)
                                                      op: Equal
                                                      rhs: {($ VSub_Name '$realname')}
                                                      spids: [40039]
                                                    )
                                                  ]
                                                  spids: [40039]
                                                )
                                              ]
                                              spids: [40036 40043]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:soroot)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$soname')}
                                                  spids: [40051]
                                                )
                                              ]
                                              spids: [40051]
                                            )
                                            (C {(func_basename)} {(DQ ($ VSub_Name '$soroot'))})
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:soname)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$func_basename_result')}
                                                  spids: [40062]
                                                )
                                              ]
                                              spids: [40062]
                                            )
                                            (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: [40081]
                                                )
                                              ]
                                              spids: [40081]
                                            )
                                            (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: [16777215 40106]
                                                )
                                              ]
                                              else_action: [
                                                (C {(func_verbose)} 
                                                  {
                                                    (DQ ("extracting exported symbol list from '") 
                                                      ($ VSub_Name '$soname') ("'")
                                                    )
                                                  }
                                                )
                                                (C {(func_execute_cmds)} 
                                                  {(DQ ($ VSub_Name '$extract_expsyms_cmds'))} {(SQ <'exit $?'>)}
                                                )
                                              ]
                                              spids: [40111 40134]
                                            )
                                            (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: [16777215 40155]
                                                )
                                              ]
                                              else_action: [
                                                (C {(func_verbose)} 
                                                  {
                                                    (DQ ("generating import library for '") 
                                                      ($ VSub_Name '$soname') ("'")
                                                    )
                                                  }
                                                )
                                                (C {(func_execute_cmds)} 
                                                  {
                                                    (DQ 
                                                      ($ VSub_Name '$old_archive_from_expsyms_cmds')
                                                    )
                                                  } {(SQ <'exit $?'>)}
                                                )
                                              ]
                                              spids: [40160 40183]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dir)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$output_objdir')}
                                                  spids: [40190]
                                                )
                                              ]
                                              spids: [40190]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:linklib)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$newlib')}
                                                  spids: [40194]
                                                )
                                              ]
                                              spids: [40194]
                                            )
                                          ]
                                          spids: [16777215 39895]
                                        )
                                      ]
                                      spids: [16777215 40198]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DPipe]
                                                  children: [
                                                    (C {(test)} {(prog)} {(Lit_Other '=')} 
                                                      {(DQ ($ VSub_Name '$linkmode'))}
                                                    )
                                                    (C {(test)} {(relink)} 
                                                      {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$opt_mode'))}
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add_shlibpath)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [40234]
                                                )
                                              ]
                                              spids: [40234]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add_dir)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [40237]
                                                )
                                              ]
                                              spids: [40237]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [40240]
                                                )
                                              ]
                                              spids: [40240]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:lib_linked)
                                                  op: Equal
                                                  rhs: {(yes)}
                                                  spids: [40243]
                                                )
                                              ]
                                              spids: [40243]
                                            )
                                            (Case
                                              to_match: {($ VSub_Name '$hardcode_action')}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(immediate)} {(unsupported)}]
                                                  action: [
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} {(no)} {(Lit_Other '=')} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name '$hardcode_direct')
                                                                    )
                                                                  }
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {($ VSub_Name '$dir') (/) 
                                                                      ($ VSub_Name '$linklib')
                                                                    }
                                                                  spids: [40278]
                                                                )
                                                              ]
                                                              spids: [40278]
                                                            )
                                                            (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: 
                                                                            {(-L) 
                                                                              ($ VSub_Name '$dir')
                                                                            }
                                                                          spids: [40301]
                                                                        )
                                                                      ]
                                                                      spids: [40301]
                                                                    )
                                                                  ]
                                                                  spids: [40291 40299 40305 16777215]
                                                                )
                                                                (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: 
                                                                            {(-L) 
                                                                              ($ VSub_Name '$dir')
                                                                            }
                                                                          spids: [40317]
                                                                        )
                                                                      ]
                                                                      spids: [40317]
                                                                    )
                                                                  ]
                                                                  spids: [40308 40315 40321 16777215]
                                                                )
                                                                (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: 
                                                                            {(-L) 
                                                                              ($ VSub_Name '$dir')
                                                                            }
                                                                          spids: [40356]
                                                                        )
                                                                      ]
                                                                      spids: [40356]
                                                                    )
                                                                  ]
                                                                  spids: [40324 40354 40360 16777215]
                                                                )
                                                                (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: 
                                                                                            <
Redir_Great '2>'
                                                                                            >
                                                                                          fd: 2
                                                                                          arg_word: 
                                                                                            {
                                                                                              (
/dev/null
                                                                                              )
                                                                                            }
                                                                                        )
                                                                                      ]
                                                                                    )
                                                                                    (SimpleCommand
                                                                                      words: [
                                                                                        {
                                                                                          ($ 
VSub_Name '$GREP'
                                                                                          )
                                                                                        }
                                                                                        {
                                                                                          (DQ 
                                                                                            (
': [^:]* bundle'
                                                                                            )
                                                                                          )
                                                                                        }
                                                                                      ]
                                                                                      redirects: [
                                                                                        (Redir
                                                                                          op: 
                                                                                            <
Redir_Great '>'
                                                                                            >
                                                                                          fd: 
16777215
                                                                                          arg_word: 
                                                                                            {
                                                                                              (
/dev/null
                                                                                              )
                                                                                            }
                                                                                        )
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  negated: F
                                                                                )
                                                                              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: [
16777215
40449
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      else_action: [
                                                                                        (Assignment
                                                                                          keyword: 
Assign_None
                                                                                          pairs: [
                                                                                            (assign_pair
                                                                                              lhs: 
                                                                                                (LhsName
                                                                                                  name: 
add
                                                                                                )
                                                                                              op: 
                                                                                                Equal
                                                                                              rhs: 
                                                                                                {
                                                                                                  ($ 
VSub_Name '$dir'
                                                                                                  ) (/) ($ VSub_Name '$old_library')
                                                                                                }
                                                                                              spids: [
40472
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
40472
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
40469
40478
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  spids: [
16777215
40426
                                                                                  ]
                                                                                )
                                                                                (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: 
                                                                                            {
                                                                                              ($ 
VSub_Name '$dir'
                                                                                              ) (/) ($ VSub_Name '$old_library')
                                                                                            }
                                                                                          spids: [
40495
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [40495]
                                                                                    )
                                                                                  ]
                                                                                  spids: [40481 40492]
                                                                                )
                                                                              ]
                                                                              spids: [16777215 40501]
                                                                            )
                                                                          ]
                                                                          spids: [16777215 40405]
                                                                        )
                                                                      ]
                                                                      spids: [16777215 40504]
                                                                    )
                                                                  ]
                                                                  spids: [40363 40369 16777215 40507]
                                                                )
                                                              ]
                                                              spids: [40284 40288 40507]
                                                            )
                                                          ]
                                                          spids: [16777215 40275]
                                                        )
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} {(no)} {(Lit_Other '=')} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name 
'$hardcode_minus_L'
                                                                      )
                                                                    )
                                                                  }
                                                                )
                                                              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: {($ VSub_Name '$dir')}
                                                                          spids: [40540]
                                                                        )
                                                                      ]
                                                                      spids: [40540]
                                                                    )
                                                                  ]
                                                                  spids: [40533 40538 40543 16777215]
                                                                )
                                                              ]
                                                              spids: [40526 40530 40546]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add_dir)
                                                                  op: Equal
                                                                  rhs: {(-L) ($ VSub_Name '$dir')}
                                                                  spids: [40549]
                                                                )
                                                              ]
                                                              spids: [40549]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: {(-l) ($ VSub_Name '$name')}
                                                                  spids: [40554]
                                                                )
                                                              ]
                                                              spids: [40554]
                                                            )
                                                          ]
                                                          spids: [40510 40523]
                                                        )
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} {(no)} {(Lit_Other '=')} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name 
'$hardcode_shlibpath_var'
                                                                      )
                                                                    )
                                                                  }
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add_shlibpath)
                                                                  op: Equal
                                                                  rhs: {($ VSub_Name '$dir')}
                                                                  spids: [40575]
                                                                )
                                                              ]
                                                              spids: [40575]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: {(-l) ($ VSub_Name '$name')}
                                                                  spids: [40579]
                                                                )
                                                              ]
                                                              spids: [40579]
                                                            )
                                                          ]
                                                          spids: [40559 40572]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:lib_linked)
                                                              op: Equal
                                                              rhs: {(no)}
                                                              spids: [40587]
                                                            )
                                                          ]
                                                          spids: [40587]
                                                        )
                                                      ]
                                                      spids: [40584 40591]
                                                    )
                                                  ]
                                                  spids: [40254 40259 40594 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(relink)}]
                                                  action: [
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (AndOr
                                                                  ops: [Op_DAmp]
                                                                  children: [
                                                                    (C {(test)} {(yes)} 
                                                                      {(Lit_Other '=')} {(DQ ($ VSub_Name '$hardcode_direct'))}
                                                                    )
                                                                    (C {(test)} {(no)} {(Lit_Other '=')} 
                                                                      {
                                                                        (DQ 
                                                                          ($ VSub_Name 
'$hardcode_direct_absolute'
                                                                          )
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {($ VSub_Name '$dir') (/) 
                                                                      ($ VSub_Name '$linklib')
                                                                    }
                                                                  spids: [40630]
                                                                )
                                                              ]
                                                              spids: [40630]
                                                            )
                                                          ]
                                                          spids: [16777215 40627]
                                                        )
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} {(yes)} {(Lit_Other '=')} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name 
'$hardcode_minus_L'
                                                                      )
                                                                    )
                                                                  }
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add_dir)
                                                                  op: Equal
                                                                  rhs: {(-L) ($ VSub_Name '$absdir')}
                                                                  spids: [40652]
                                                                )
                                                              ]
                                                              spids: [40652]
                                                            )
                                                            (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: [
                                                                            (C {(func_append)} 
                                                                              {(add_dir)} {(DQ (' -L') ($ VSub_Name '$inst_prefix_dir') ($ VSub_Name '$libdir'))}
                                                                            )
                                                                          ]
                                                                          spids: [
40682
40687
40701
16777215
                                                                          ]
                                                                        )
                                                                      ]
                                                                      spids: [40675 40679 40704]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 40672]
                                                                )
                                                              ]
                                                              spids: [16777215 40707]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: {(-l) ($ VSub_Name '$name')}
                                                                  spids: [40710]
                                                                )
                                                              ]
                                                              spids: [40710]
                                                            )
                                                          ]
                                                          spids: [40636 40649]
                                                        )
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} {(yes)} {(Lit_Other '=')} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name 
'$hardcode_shlibpath_var'
                                                                      )
                                                                    )
                                                                  }
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add_shlibpath)
                                                                  op: Equal
                                                                  rhs: {($ VSub_Name '$dir')}
                                                                  spids: [40731]
                                                                )
                                                              ]
                                                              spids: [40731]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: {(-l) ($ VSub_Name '$name')}
                                                                  spids: [40735]
                                                                )
                                                              ]
                                                              spids: [40735]
                                                            )
                                                          ]
                                                          spids: [40715 40728]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:lib_linked)
                                                              op: Equal
                                                              rhs: {(no)}
                                                              spids: [40743]
                                                            )
                                                          ]
                                                          spids: [40743]
                                                        )
                                                      ]
                                                      spids: [40740 40747]
                                                    )
                                                  ]
                                                  spids: [40597 40598 40750 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:lib_linked)
                                                          op: Equal
                                                          rhs: {(no)}
                                                          spids: [40756]
                                                        )
                                                      ]
                                                      spids: [40756]
                                                    )
                                                  ]
                                                  spids: [40753 40754 40759 16777215]
                                                )
                                              ]
                                              spids: [40247 40251 40762]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(yes)} 
                                                          {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$lib_linked'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_fatal_configuration)} 
                                                      {(DQ ('unsupported hardcode properties'))}
                                                    )
                                                  ]
                                                  spids: [16777215 40780]
                                                )
                                              ]
                                              spids: [16777215 40790]
                                            )
                                            (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: [40817 40824 40826 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (C {(func_append)} {(compile_shlibpath)} 
                                                              {
                                                                (DQ ($ VSub_Name '$add_shlibpath') 
                                                                  (':')
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [40829 40830 40841 16777215]
                                                        )
                                                      ]
                                                      spids: [40808 40814 40844]
                                                    )
                                                  ]
                                                  spids: [16777215 40805]
                                                )
                                              ]
                                              spids: [16777215 40847]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(prog)} {(Lit_Other '=')} 
                                                          {(DQ ($ VSub_Name '$linkmode'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (AndOr
                                                      ops: [Op_DAmp]
                                                      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: [40876]
                                                            )
                                                          ]
                                                          spids: [40876]
                                                        )
                                                      ]
                                                    )
                                                    (AndOr
                                                      ops: [Op_DAmp]
                                                      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: [40894]
                                                            )
                                                          ]
                                                          spids: [40894]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  spids: [16777215 40863]
                                                )
                                              ]
                                              else_action: [
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  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: [40915]
                                                        )
                                                      ]
                                                      spids: [40915]
                                                    )
                                                  ]
                                                )
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  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: [40933]
                                                        )
                                                      ]
                                                      spids: [40933]
                                                    )
                                                  ]
                                                )
                                                (If
                                                  arms: [
                                                    (if_arm
                                                      cond: [
                                                        (Sentence
                                                          child: 
                                                            (AndOr
                                                              ops: [Op_DAmp Op_DAmp]
                                                              children: [
                                                                (C {(test)} {(yes)} 
                                                                  {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$hardcode_direct'))}
                                                                )
                                                                (C {(test)} {(yes)} 
                                                                  {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$hardcode_minus_L'))}
                                                                )
                                                                (C {(test)} {(yes)} {(Lit_Other '=')} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name 
'$hardcode_shlibpath_var'
                                                                      )
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                            )
                                                          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: [40994 41001 41003 16777215]
                                                            )
                                                            (case_arm
                                                              pat_list: [{(Lit_Other '*')}]
                                                              action: [
                                                                (C {(func_append)} 
                                                                  {(finalize_shlibpath)} {(DQ ($ VSub_Name '$libdir') (':'))}
                                                                )
                                                              ]
                                                              spids: [41006 41007 41018 16777215]
                                                            )
                                                          ]
                                                          spids: [40985 40991 41021]
                                                        )
                                                      ]
                                                      spids: [16777215 40982]
                                                    )
                                                  ]
                                                  spids: [16777215 41024]
                                                )
                                              ]
                                              spids: [40902 41027]
                                            )
                                          ]
                                          spids: [16777215 40231]
                                        )
                                      ]
                                      spids: [16777215 41030]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DPipe]
                                                  children: [
                                                    (C {(test)} {(prog)} {(Lit_Other '=')} 
                                                      {(DQ ($ VSub_Name '$linkmode'))}
                                                    )
                                                    (C {(test)} {(relink)} {(Lit_Other '=')} 
                                                      {(DQ ($ VSub_Name '$opt_mode'))}
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add_shlibpath)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [41062]
                                                )
                                              ]
                                              spids: [41062]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add_dir)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [41065]
                                                )
                                              ]
                                              spids: [41065]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [41068]
                                                )
                                              ]
                                              spids: [41068]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (AndOr
                                                          ops: [Op_DAmp]
                                                          children: [
                                                            (C {(test)} {(yes)} {(Lit_Other '=')} 
                                                              {(DQ ($ VSub_Name '$hardcode_direct'))}
                                                            )
                                                            (C {(test)} {(no)} {(Lit_Other '=')} 
                                                              {
                                                                (DQ 
                                                                  ($ VSub_Name 
'$hardcode_direct_absolute'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                          ]
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:add)
                                                          op: Equal
                                                          rhs: 
                                                            {($ VSub_Name '$libdir') (/) 
                                                              ($ VSub_Name '$linklib')
                                                            }
                                                          spids: [41104]
                                                        )
                                                      ]
                                                      spids: [41104]
                                                    )
                                                  ]
                                                  spids: [16777215 41101]
                                                )
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(yes)} {(Lit_Other '=')} 
                                                          {(DQ ($ VSub_Name '$hardcode_minus_L'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:add_dir)
                                                          op: Equal
                                                          rhs: {(-L) ($ VSub_Name '$libdir')}
                                                          spids: [41126]
                                                        )
                                                      ]
                                                      spids: [41126]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:add)
                                                          op: Equal
                                                          rhs: {(-l) ($ VSub_Name '$name')}
                                                          spids: [41131]
                                                        )
                                                      ]
                                                      spids: [41131]
                                                    )
                                                  ]
                                                  spids: [41110 41123]
                                                )
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(yes)} {(Lit_Other '=')} 
                                                          {
                                                            (DQ 
                                                              ($ VSub_Name '$hardcode_shlibpath_var')
                                                            )
                                                          }
                                                        )
                                                      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: [41161 41168 41170 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (C {(func_append)} {(finalize_shlibpath)} 
                                                              {(DQ ($ VSub_Name '$libdir') (':'))}
                                                            )
                                                          ]
                                                          spids: [41173 41174 41185 16777215]
                                                        )
                                                      ]
                                                      spids: [41152 41158 41188]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:add)
                                                          op: Equal
                                                          rhs: {(-l) ($ VSub_Name '$name')}
                                                          spids: [41191]
                                                        )
                                                      ]
                                                      spids: [41191]
                                                    )
                                                  ]
                                                  spids: [41136 41149]
                                                )
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(yes)} {(Lit_Other '=')} 
                                                          {(DQ ($ VSub_Name '$hardcode_automatic'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (AndOr
                                                                  ops: [Op_DAmp]
                                                                  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')
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      ($ VSub_Name '$inst_prefix_dir') ($ VSub_Name '$libdir') (/) ($ VSub_Name '$linklib')
                                                                    }
                                                                  spids: [41240]
                                                                )
                                                              ]
                                                              spids: [41240]
                                                            )
                                                          ]
                                                          spids: [16777215 41237]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:add)
                                                              op: Equal
                                                              rhs: 
                                                                {($ VSub_Name '$libdir') (/) 
                                                                  ($ VSub_Name '$linklib')
                                                                }
                                                              spids: [41250]
                                                            )
                                                          ]
                                                          spids: [41250]
                                                        )
                                                      ]
                                                      spids: [41247 41256]
                                                    )
                                                  ]
                                                  spids: [41196 41209]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:add_dir)
                                                      op: Equal
                                                      rhs: {(-L) ($ VSub_Name '$libdir')}
                                                      spids: [41266]
                                                    )
                                                  ]
                                                  spids: [41266]
                                                )
                                                (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: [
                                                                (C {(func_append)} {(add_dir)} 
                                                                  {
                                                                    (DQ (' -L') 
                                                                      ($ VSub_Name '$inst_prefix_dir') ($ VSub_Name '$libdir')
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                              spids: [41296 41301 41315 16777215]
                                                            )
                                                          ]
                                                          spids: [41289 41293 41318]
                                                        )
                                                      ]
                                                      spids: [16777215 41286]
                                                    )
                                                  ]
                                                  spids: [16777215 41321]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:add)
                                                      op: Equal
                                                      rhs: {(-l) ($ VSub_Name '$name')}
                                                      spids: [41324]
                                                    )
                                                  ]
                                                  spids: [41324]
                                                )
                                              ]
                                              spids: [41259 41329]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(prog)} {(Lit_Other '=')} 
                                                          {(DQ ($ VSub_Name '$linkmode'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (AndOr
                                                      ops: [Op_DAmp]
                                                      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: [41359]
                                                            )
                                                          ]
                                                          spids: [41359]
                                                        )
                                                      ]
                                                    )
                                                    (AndOr
                                                      ops: [Op_DAmp]
                                                      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: [41377]
                                                            )
                                                          ]
                                                          spids: [41377]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  spids: [16777215 41346]
                                                )
                                              ]
                                              else_action: [
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  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: [41398]
                                                        )
                                                      ]
                                                      spids: [41398]
                                                    )
                                                  ]
                                                )
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  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: [41416]
                                                        )
                                                      ]
                                                      spids: [41416]
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [41385 41424]
                                            )
                                          ]
                                          spids: [16777215 41059]
                                        )
                                      ]
                                      spids: [16777215 41427]
                                    )
                                  ]
                                  spids: [16777215 39441]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(prog)} {(Lit_Other '=')} 
                                          {(DQ ($ VSub_Name '$linkmode'))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(unsupported)} 
                                                  {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$hardcode_direct'))}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (AndOr
                                              ops: [Op_DAmp]
                                              children: [
                                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$old_library'))})
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:linklib)
                                                      op: Equal
                                                      rhs: {($ VSub_Name '$old_library')}
                                                      spids: [41485]
                                                    )
                                                  ]
                                                  spids: [41485]
                                                )
                                              ]
                                            )
                                            (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: [41489]
                                                )
                                              ]
                                              spids: [41489]
                                            )
                                            (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: [41499]
                                                )
                                              ]
                                              spids: [41499]
                                            )
                                          ]
                                          spids: [16777215 41472]
                                        )
                                      ]
                                      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: [41512]
                                            )
                                          ]
                                          spids: [41512]
                                        )
                                        (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: [41523]
                                            )
                                          ]
                                          spids: [41523]
                                        )
                                      ]
                                      spids: [41509 41534]
                                    )
                                  ]
                                  spids: [41430 41443]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(yes)} {(Lit_Other '=')} 
                                          {(DQ ($ VSub_Name '$build_libtool_libs'))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(pass_all)} {(KW_Bang '!') (Lit_Other '=')} 
                                                  {(DQ ($ VSub_Name '$deplibs_check_method'))}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(echo)})
                                            (C {($ VSub_Name '$ECHO')} 
                                              {
                                                (DQ 
                                                  (
'*** Warning: This system cannot 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)} {(yes)} {(Lit_Other '=')} 
                                                          {(DQ ($ VSub_Name '$module'))}
                                                        )
                                                      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 'nm' or equivalent, but libtool could"
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
'*** not find such a program.  So, this module is probably useless.'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
"*** 'nm' from GNU binutils and a full rebuild may help."
                                                                  )
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [16777215 41672]
                                                        )
                                                      ]
                                                      spids: [16777215 41706]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} {(no)} {(Lit_Other '=')} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name '$build_old_libs')
                                                                    )
                                                                  }
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: 
                                                                    (LhsName
                                                                      name: build_libtool_libs
                                                                    )
                                                                  op: Equal
                                                                  rhs: {(module)}
                                                                  spids: [41725]
                                                                )
                                                              ]
                                                              spids: [41725]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:build_old_libs)
                                                                  op: Equal
                                                                  rhs: {(yes)}
                                                                  spids: [41729]
                                                                )
                                                              ]
                                                              spids: [41729]
                                                            )
                                                          ]
                                                          spids: [16777215 41722]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:build_libtool_libs)
                                                              op: Equal
                                                              rhs: {(no)}
                                                              spids: [41736]
                                                            )
                                                          ]
                                                          spids: [41736]
                                                        )
                                                      ]
                                                      spids: [41733 41740]
                                                    )
                                                  ]
                                                  spids: [16777215 41637]
                                                )
                                              ]
                                              spids: [16777215 41743]
                                            )
                                          ]
                                          spids: [16777215 41571]
                                        )
                                      ]
                                      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: [41749]
                                            )
                                          ]
                                          spids: [41749]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:link_static)
                                              op: Equal
                                              rhs: {(yes)}
                                              spids: [41759]
                                            )
                                          ]
                                          spids: [41759]
                                        )
                                      ]
                                      spids: [41746 41763]
                                    )
                                  ]
                                  spids: [41537 41550]
                                )
                              ]
                              spids: [16777215 41766]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(lib)} {(Lit_Other '=')} 
                                          {(DQ ($ VSub_Name '$linkmode'))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$dependency_libs'))}
                                                    )
                                                    (BraceGroup
                                                      children: [
                                                        (Sentence
                                                          child: 
                                                            (AndOr
                                                              ops: [Op_DPipe Op_DPipe]
                                                              children: [
                                                                (C {(test)} {(yes)} 
                                                                  {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$hardcode_into_libs'))}
                                                                )
                                                                (C {(test)} {(yes)} {(Lit_Other '=')} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name '$build_old_libs')
                                                                    )
                                                                  }
                                                                )
                                                                (C {(test)} {(yes)} {(Lit_Other '=')} 
                                                                  {(DQ ($ VSub_Name '$link_static'))}
                                                                )
                                                              ]
                                                            )
                                                          terminator: <Op_Semi ';'>
                                                        )
                                                      ]
                                                      spids: [41802]
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:temp_deplibs)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [41852]
                                                )
                                              ]
                                              spids: [41852]
                                            )
                                            (ForEach
                                              iter_name: libdir
                                              iter_words: [{($ VSub_Name '$dependency_libs')}]
                                              do_arg_iter: F
                                              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: [41892]
                                                                )
                                                              ]
                                                              spids: [41892]
                                                            )
                                                            (Case
                                                              to_match: 
                                                                {
                                                                  (DQ (' ') ($ VSub_Name '$xrpath') 
                                                                    (' ')
                                                                  )
                                                                }
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other '*') 
                                                                      (DQ (' ') 
                                                                        ($ VSub_Name '$temp_xrpath') (' ')
                                                                      ) (Lit_Other '*')
                                                                    }
                                                                  ]
                                                                  spids: [41907 41914 41916 16777215]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(Lit_Other '*')}]
                                                                  action: [
                                                                    (C {(func_append)} {(xrpath)} 
                                                                      {
                                                                        (DQ (' ') 
                                                                          ($ VSub_Name '$temp_xrpath')
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [41919 41920 41930 16777215]
                                                                )
                                                              ]
                                                              spids: [41896 41904 41933]
                                                            )
                                                          ]
                                                          spids: [41874 41876 41934 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (C {(func_append)} {(temp_deplibs)} 
                                                              {(DQ (' ') ($ VSub_Name '$libdir'))}
                                                            )
                                                          ]
                                                          spids: [41937 41938 41948 16777215]
                                                        )
                                                      ]
                                                      spids: [41867 41871 41951]
                                                    )
                                                  ]
                                                  spids: [41864 41954]
                                                )
                                              spids: [41860 41862]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dependency_libs)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$temp_deplibs')}
                                                  spids: [41957]
                                                )
                                              ]
                                              spids: [41957]
                                            )
                                          ]
                                          spids: [16777215 41845]
                                        )
                                      ]
                                      spids: [16777215 41961]
                                    )
                                    (C {(func_append)} {(newlib_search_path)} 
                                      {(DQ (' ') ($ VSub_Name '$absdir'))}
                                    )
                                    (AndOr
                                      ops: [Op_DAmp]
                                      children: [
                                        (C {(test)} {(no)} {(Lit_Other '=')} 
                                          {(DQ ($ VSub_Name '$link_static'))}
                                        )
                                        (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: [41991]
                                            )
                                          ]
                                          spids: [41991]
                                        )
                                      ]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_libs)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [42005]
                                        )
                                      ]
                                      spids: [42005]
                                    )
                                    (ForEach
                                      iter_name: deplib
                                      iter_words: [{($ VSub_Name '$dependency_libs')}]
                                      do_arg_iter: F
                                      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: [42020]
                                                )
                                              ]
                                              spids: [42020]
                                            )
                                            (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'))}
                                                    )
                                                    (C {(func_resolve_sysroot)} 
                                                      {(DQ ($ VSub_Name '$func_stripname_result'))}
                                                    )
                                                  ]
                                                  spids: [42035 42037 42058 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (C {(func_resolve_sysroot)} 
                                                      {(DQ ($ VSub_Name '$deplib'))}
                                                    )
                                                  ]
                                                  spids: [42061 42062 42070 16777215]
                                                )
                                              ]
                                              spids: [42028 42032 42073]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {($ VSub_Name '$opt_preserve_dup_deps')})
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Case
                                                      to_match: {(DQ ($ VSub_Name '$tmp_libs') (' '))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other '*') 
                                                              (DQ (' ') 
                                                                ($ VSub_Name 
'$func_resolve_sysroot_result'
                                                                ) (' ')
                                                              ) (Lit_Other '*')
                                                            }
                                                          ]
                                                          action: [
                                                            (C {(func_append)} {(specialdeplibs)} 
                                                              {
                                                                (DQ (' ') 
                                                                  ($ VSub_Name 
'$func_resolve_sysroot_result'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [42094 42101 42113 16777215]
                                                        )
                                                      ]
                                                      spids: [42084 42091 42116]
                                                    )
                                                  ]
                                                  spids: [16777215 42081]
                                                )
                                              ]
                                              spids: [16777215 42119]
                                            )
                                            (C {(func_append)} {(tmp_libs)} 
                                              {
                                                (DQ (' ') ($ VSub_Name '$func_resolve_sysroot_result'))
                                              }
                                            )
                                          ]
                                          spids: [42017 42132]
                                        )
                                      spids: [42013 42015]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(no)} {(KW_Bang '!') (Lit_Other '=')} 
                                                  {(DQ ($ VSub_Name '$link_all_deplibs'))}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (ForEach
                                              iter_name: deplib
                                              iter_words: [{($ VSub_Name '$dependency_libs')}]
                                              do_arg_iter: F
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:path)
                                                          op: Equal
                                                          rhs: {(EmptyPart)}
                                                          spids: [42169]
                                                        )
                                                      ]
                                                      spids: [42169]
                                                    )
                                                    (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: {($ VSub_Name '$deplib')}
                                                                  spids: [42183]
                                                                )
                                                              ]
                                                              spids: [42183]
                                                            )
                                                          ]
                                                          spids: [42179 42181 42186 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*') (.la)}]
                                                          action: [
                                                            (C {(func_resolve_sysroot)} 
                                                              {(DQ ($ VSub_Name '$deplib'))}
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:deplib)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      ($ VSub_Name 
'$func_resolve_sysroot_result'
                                                                      )
                                                                    }
                                                                  spids: [42201]
                                                                )
                                                              ]
                                                              spids: [42201]
                                                            )
                                                            (C {(func_dirname)} 
                                                              {(DQ ($ VSub_Name '$deplib'))} {(DQ )} {(DQ (.))}
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:dir)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      ($ VSub_Name 
'$func_dirname_result'
                                                                      )
                                                                    }
                                                                  spids: [42219]
                                                                )
                                                              ]
                                                              spids: [42219]
                                                            )
                                                            (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: {($ VSub_Name '$dir')}
                                                                          spids: [42253]
                                                                        )
                                                                      ]
                                                                      spids: [42253]
                                                                    )
                                                                  ]
                                                                  spids: [42234 42251 42256 16777215]
                                                                )
                                                                (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
                                                                                        ops: [
Op_DAmp
                                                                                        ]
                                                                                        children: [
                                                                                          (C {(cd)} 
                                                                                            {
                                                                                              (DQ 
                                                                                                ($ 
VSub_Name '$dir'
                                                                                                )
                                                                                              )
                                                                                            }
                                                                                          )
                                                                                          (C {(pwd)})
                                                                                        ]
                                                                                      )
                                                                                    ]
                                                                                  )
                                                                                left_token: 
                                                                                  <Left_Backtick 
'`'
                                                                                  >
                                                                                spids: [42264 42274]
                                                                              )
                                                                            }
                                                                          spids: [42263]
                                                                        )
                                                                      ]
                                                                      spids: [42263]
                                                                    )
                                                                    (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 '"
                                                                                  ) ($ VSub_Name '$dir') ("'")
                                                                                )
                                                                              }
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: absdir
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      ($ VSub_Name 
'$dir'
                                                                                      )
                                                                                    }
                                                                                  spids: [42300]
                                                                                )
                                                                              ]
                                                                              spids: [42300]
                                                                            )
                                                                          ]
                                                                          spids: [16777215 42288]
                                                                        )
                                                                      ]
                                                                      spids: [16777215 42304]
                                                                    )
                                                                  ]
                                                                  spids: [42259 42260 42307 16777215]
                                                                )
                                                              ]
                                                              spids: [42227 42231 42310]
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (SimpleCommand
                                                                          words: [
                                                                            {($ VSub_Name '$GREP')}
                                                                            {(DQ ('^installed=no'))}
                                                                            {
                                                                              ($ VSub_Name '$deplib')
                                                                            }
                                                                          ]
                                                                          redirects: [
                                                                            (Redir
                                                                              op: <Redir_Great '>'>
                                                                              fd: 16777215
                                                                              arg_word: {(/dev/null)}
                                                                            )
                                                                          ]
                                                                        )
                                                                      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: {(EmptyPart)}
                                                                                  spids: [42346]
                                                                                )
                                                                              ]
                                                                              spids: [42346]
                                                                            )
                                                                            (C {(eval)} 
                                                                              {
                                                                                (Lit_VarLike 
'deplibrary_names='
                                                                                ) 
                                                                                (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: [42352 42364]
                                                                                )
                                                                              }
                                                                            )
                                                                            (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: F
                                                                                      body: 
                                                                                        (DoGroup
                                                                                          children: [
                                                                                            (Assignment
                                                                                              keyword: 
Assign_None
                                                                                              pairs: [
                                                                                                (assign_pair
                                                                                                  lhs: 
                                                                                                    (LhsName
                                                                                                      name: 
depdepl
                                                                                                    )
                                                                                                  op: 
                                                                                                    Equal
                                                                                                  rhs: 
                                                                                                    {
                                                                                                      ($ 
VSub_Name '$tmp'
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
42393
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
42393
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
42390
42397
                                                                                          ]
                                                                                        )
                                                                                      spids: [
42386
42388
                                                                                      ]
                                                                                    )
                                                                                    (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: 
                                                                                                    {
                                                                                                      ($ 
VSub_Name '$absdir'
                                                                                                      ) (/) ($ VSub_Name '$objdir') (/) ($ VSub_Name '$depdepl')
                                                                                                    }
                                                                                                  spids: [
42418
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
42418
                                                                                              ]
                                                                                            )
                                                                                            (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: 
F
                                                                                                              )
                                                                                                            ]
                                                                                                          )
                                                                                                        left_token: 
                                                                                                          <
Left_Backtick '`'
                                                                                                          >
                                                                                                        spids: [
42427
42441
                                                                                                        ]
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
42426
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
42426
                                                                                              ]
                                                                                            )
                                                                                            (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: 
F
                                                                                                                      )
                                                                                                                    ]
                                                                                                                  )
                                                                                                                left_token: 
                                                                                                                  <
Left_Backtick '`'
                                                                                                                  >
                                                                                                                spids: [
42459
42473
                                                                                                                ]
                                                                                                              )
                                                                                                            }
                                                                                                          spids: [
42458
                                                                                                          ]
                                                                                                        )
                                                                                                      ]
                                                                                                      spids: [
42458
                                                                                                      ]
                                                                                                    )
                                                                                                  ]
                                                                                                  spids: [
16777215
42455
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
16777215
42476
                                                                                              ]
                                                                                            )
                                                                                            (C 
                                                                                              {
                                                                                                (
func_append
                                                                                                )
                                                                                              } {(compiler_flags)} 
                                                                                              {
                                                                                                (DQ 
                                                                                                  (
' '
                                                                                                  ) ($ VSub_Name '$wl') ('-dylib_file ') ($ VSub_Name '$wl') ($ VSub_Name '$darwin_install_name') (':') 
                                                                                                  ($ 
VSub_Name '$depdepl'
                                                                                                  )
                                                                                                )
                                                                                              }
                                                                                            )
                                                                                            (C 
                                                                                              {
                                                                                                (
func_append
                                                                                                )
                                                                                              } {(linker_flags)} 
                                                                                              {
                                                                                                (DQ 
                                                                                                  (
' -dylib_file '
                                                                                                  ) ($ VSub_Name '$darwin_install_name') (':') ($ VSub_Name '$depdepl')
                                                                                                )
                                                                                              }
                                                                                            )
                                                                                            (Assignment
                                                                                              keyword: 
Assign_None
                                                                                              pairs: [
                                                                                                (assign_pair
                                                                                                  lhs: 
                                                                                                    (LhsName
                                                                                                      name: 
path
                                                                                                    )
                                                                                                  op: 
                                                                                                    Equal
                                                                                                  rhs: {(EmptyPart)}
                                                                                                  spids: [
42506
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
42506
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
16777215
42415
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
16777215
42509
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  spids: [
16777215
42378
                                                                                  ]
                                                                                )
                                                                              ]
                                                                              spids: [16777215 42512]
                                                                            )
                                                                          ]
                                                                          spids: [
42338
42343
42515
16777215
                                                                          ]
                                                                        )
                                                                        (case_arm
                                                                          pat_list: [{(Lit_Other '*')}]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: path
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {(-L) 
                                                                                      ($ VSub_Name 
'$absdir'
                                                                                      ) (/) ($ VSub_Name '$objdir')
                                                                                    }
                                                                                  spids: [42522]
                                                                                )
                                                                              ]
                                                                              spids: [42522]
                                                                            )
                                                                          ]
                                                                          spids: [
42518
42519
42529
16777215
                                                                          ]
                                                                        )
                                                                      ]
                                                                      spids: [42331 42335 42532]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 42328]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (C {(eval)} 
                                                                  {(Lit_VarLike 'libdir=') 
                                                                    (CommandSubPart
                                                                      command_list: 
                                                                        (CommandList
                                                                          children: [
                                                                            (C {($ VSub_Name '$SED')} 
                                                                              {(-n)} {(-e)} {(SQ <'s/^libdir=\\(.*\\)$/\\1/p'>)} {($ VSub_Name '$deplib')}
                                                                            )
                                                                          ]
                                                                        )
                                                                      left_token: <Left_Backtick '`'>
                                                                      spids: [42541 42553]
                                                                    )
                                                                  }
                                                                )
                                                                (AndOr
                                                                  ops: [Op_DAmp]
                                                                  children: [
                                                                    (C {(test)} {(-z)} 
                                                                      {(DQ ($ VSub_Name '$libdir'))}
                                                                    )
                                                                    (C {(func_fatal_error)} 
                                                                      {
                                                                        (DQ ("'") 
                                                                          ($ VSub_Name '$deplib') ("' is not a valid libtool archive")
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                )
                                                                (AndOr
                                                                  ops: [Op_DAmp]
                                                                  children: [
                                                                    (C {(test)} 
                                                                      {(DQ ($ VSub_Name '$absdir'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$libdir'))}
                                                                    )
                                                                    (C {(func_warning)} 
                                                                      {
                                                                        (DQ ("'") 
                                                                          ($ VSub_Name '$deplib') ("' seems to be moved")
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                )
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:path)
                                                                      op: Equal
                                                                      rhs: 
                                                                        {(-L) 
                                                                          ($ VSub_Name '$absdir')
                                                                        }
                                                                      spids: [42604]
                                                                    )
                                                                  ]
                                                                  spids: [42604]
                                                                )
                                                              ]
                                                              spids: [42535 42609]
                                                            )
                                                          ]
                                                          spids: [42189 42191 42612 16777215]
                                                        )
                                                      ]
                                                      spids: [42172 42176 42615]
                                                    )
                                                    (Case
                                                      to_match: 
                                                        {(DQ (' ') ($ VSub_Name '$deplibs') (' '))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other '*') 
                                                              (DQ (' ') ($ VSub_Name '$path') (' ')) (Lit_Other '*')
                                                            }
                                                          ]
                                                          spids: [42629 42636 42638 16777215]
                                                        )
                                                        (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: [42644]
                                                                )
                                                              ]
                                                              spids: [42644]
                                                            )
                                                          ]
                                                          spids: [42641 42642 42651 16777215]
                                                        )
                                                      ]
                                                      spids: [42618 42626 42654]
                                                    )
                                                  ]
                                                  spids: [42166 42657]
                                                )
                                              spids: [42162 42164]
                                            )
                                          ]
                                          spids: [16777215 42150]
                                        )
                                      ]
                                      spids: [16777215 42660]
                                    )
                                  ]
                                  spids: [16777215 41786]
                                )
                              ]
                              spids: [16777215 42666]
                            )
                          ]
                          spids: [35331 42672]
                        )
                      spids: [35327 35329]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(link)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$pass'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(prog)} {(Lit_Other '=')} 
                                          {(DQ ($ VSub_Name '$linkmode'))}
                                        )
                                      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: [42710]
                                        )
                                      ]
                                      spids: [42710]
                                    )
                                    (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: [42718]
                                        )
                                      ]
                                      spids: [42718]
                                    )
                                  ]
                                  spids: [16777215 42707]
                                )
                              ]
                              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: F
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [42734 42749]
                                          )
                                        }
                                      spids: [42729]
                                    )
                                  ]
                                  spids: [42729]
                                )
                              ]
                              spids: [42726 42752]
                            )
                          ]
                          spids: [16777215 42691]
                        )
                      ]
                      spids: [16777215 42755]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dependency_libs)
                          op: Equal
                          rhs: {($ VSub_Name '$newdependency_libs')}
                          spids: [42758]
                        )
                      ]
                      spids: [42758]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(dlpreopen)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$pass'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (ForEach
                              iter_name: deplib
                              iter_words: [{($ VSub_Name '$save_deplibs')}]
                              do_arg_iter: F
                              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: [42794]
                                        )
                                      ]
                                      spids: [42794]
                                    )
                                  ]
                                  spids: [42791 42802]
                                )
                              spids: [42787 42789]
                            )
                          ]
                          spids: [16777215 42775]
                        )
                      ]
                      spids: [16777215 42805]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(dlopen)} {(KW_Bang '!') (Lit_Other '=')} 
                                  {(DQ ($ VSub_Name '$pass'))}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(test)} {(conv)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$pass'))})
                                (BraceGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:lib_search_path)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [42844]
                                        )
                                      ]
                                      spids: [42844]
                                    )
                                    (ForEach
                                      iter_name: dir
                                      iter_words: [{($ VSub_Name '$newlib_search_path')}]
                                      do_arg_iter: F
                                      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: [42869 42876 42878 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (C {(func_append)} {(lib_search_path)} 
                                                      {(DQ (' ') ($ VSub_Name '$dir'))}
                                                    )
                                                  ]
                                                  spids: [42881 42882 42893 16777215]
                                                )
                                              ]
                                              spids: [42859 42866 42896]
                                            )
                                          ]
                                          spids: [42856 42899]
                                        )
                                      spids: [42852 42854]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:newlib_search_path)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [42902]
                                        )
                                      ]
                                      spids: [42902]
                                    )
                                  ]
                                  spids: [42837]
                                )
                              ]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(prog) (Lit_Comma ',') (link)} {(Lit_Other '=')} 
                                          {
                                            (DQ ($ VSub_Name '$linkmode') (',') ($ VSub_Name '$pass'))
                                          }
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:vars)
                                          op: Equal
                                          rhs: {(DQ ('compile_deplibs finalize_deplibs'))}
                                          spids: [42929]
                                        )
                                      ]
                                      spids: [42929]
                                    )
                                  ]
                                  spids: [16777215 42926]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:vars)
                                      op: Equal
                                      rhs: {(deplibs)}
                                      spids: [42938]
                                    )
                                  ]
                                  spids: [42938]
                                )
                              ]
                              spids: [42935 42942]
                            )
                            (ForEach
                              iter_name: var
                              iter_words: [{($ VSub_Name '$vars')} {(dependency_libs)}]
                              do_arg_iter: F
                              body: 
                                (DoGroup
                                  children: [
                                    (C {(eval)} 
                                      {(Lit_VarLike 'tmp_libs=') 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\"'>
                                        ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ($ VSub_Name '$var') 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\"'>
                                        )
                                      }
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:new_libs)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [42972]
                                        )
                                      ]
                                      spids: [42972]
                                    )
                                    (ForEach
                                      iter_name: deplib
                                      iter_words: [{($ VSub_Name '$tmp_libs')}]
                                      do_arg_iter: F
                                      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: [43022]
                                                        )
                                                      ]
                                                      spids: [43022]
                                                    )
                                                  ]
                                                  spids: [43018 43020 43029 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(-R) (Lit_Other '*')}]
                                                  spids: [43032 43034 43036 16777215]
                                                )
                                                (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: [43119]
                                                                )
                                                              ]
                                                              spids: [43119]
                                                            )
                                                          ]
                                                          spids: [43110 43117 43126 16777215]
                                                        )
                                                        (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: [43144 43151 43153 16777215]
                                                                )
                                                                (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: [43159]
                                                                        )
                                                                      ]
                                                                      spids: [43159]
                                                                    )
                                                                  ]
                                                                  spids: [43156 43157 43166 16777215]
                                                                )
                                                              ]
                                                              spids: [43133 43141 43169]
                                                            )
                                                          ]
                                                          spids: [43129 43130 43172 16777215]
                                                        )
                                                      ]
                                                      spids: [43099 43107 43175]
                                                    )
                                                  ]
                                                  spids: [43039 43040 43178 16777215]
                                                )
                                              ]
                                              spids: [43011 43015 43181]
                                            )
                                          ]
                                          spids: [42984 43184]
                                        )
                                      spids: [42980 42982]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_libs)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [43187]
                                        )
                                      ]
                                      spids: [43187]
                                    )
                                    (ForEach
                                      iter_name: deplib
                                      iter_words: [{($ VSub_Name '$new_libs')}]
                                      do_arg_iter: F
                                      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: [43225 43232 43234 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (C {(func_append)} {(tmp_libs)} 
                                                              {(DQ (' ') ($ VSub_Name '$deplib'))}
                                                            )
                                                          ]
                                                          spids: [43237 43238 43249 16777215]
                                                        )
                                                      ]
                                                      spids: [43214 43222 43252]
                                                    )
                                                  ]
                                                  spids: [43209 43211 43255 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (C {(func_append)} {(tmp_libs)} 
                                                      {(DQ (' ') ($ VSub_Name '$deplib'))}
                                                    )
                                                  ]
                                                  spids: [43258 43259 43270 16777215]
                                                )
                                              ]
                                              spids: [43202 43206 43273]
                                            )
                                          ]
                                          spids: [43199 43276]
                                        )
                                      spids: [43195 43197]
                                    )
                                    (C {(eval)} 
                                      {($ VSub_Name '$var') (Lit_Other '=') 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\"'>
                                        ) ($ VSub_Name '$tmp_libs') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                      }
                                    )
                                  ]
                                  spids: [42956 43288]
                                )
                              spids: [42950 42954]
                            )
                          ]
                          spids: [16777215 42822]
                        )
                      ]
                      spids: [16777215 43294]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(CXX)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$tagname'))})
                        (BraceGroup
                          children: [
                            (Case
                              to_match: {($ VSub_Name '$host_os')}
                              arms: [
                                (case_arm
                                  pat_list: [{(linux) (Lit_Other '*')}]
                                  action: [
                                    (Case
                                      to_match: 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (SimpleCommand
                                                        words: [{($ VSub_Name '$CC')} {(-V)}]
                                                        redirects: [
                                                          (Redir
                                                            op: <Redir_GreatAnd '2>&'>
                                                            fd: 2
                                                            arg_word: {(1)}
                                                          )
                                                        ]
                                                      )
                                                      (C {(sed)} {(5q)})
                                                    ]
                                                    negated: F
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [43331 43344]
                                          )
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (Sun) 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar '\\ '>
                                              ) (C) (Lit_Other '*')
                                            }
                                          ]
                                          action: [
                                            (C {(func_suncc_cstd_abi)})
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(no)} 
                                                          {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$suncc_use_cstd_abi'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_append)} {(postdeps)} 
                                                      {(SQ <' -library=Cstd -library=Crun'>)}
                                                    )
                                                  ]
                                                  spids: [16777215 43378]
                                                )
                                              ]
                                              spids: [16777215 43390]
                                            )
                                          ]
                                          spids: [43349 43354 43393 16777215]
                                        )
                                      ]
                                      spids: [43329 43346 43396]
                                    )
                                  ]
                                  spids: [43324 43326 43399 16777215]
                                )
                                (case_arm
                                  pat_list: [{(solaris) (Lit_Other '*')}]
                                  action: [
                                    (C {(func_cc_basename)} {(DQ ($ VSub_Name '$CC'))})
                                    (Case
                                      to_match: {($ VSub_Name '$func_cc_basename_result')}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(CC) (Lit_Other '*')} {(sunCC) (Lit_Other '*')}]
                                          action: [
                                            (C {(func_suncc_cstd_abi)})
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(no)} 
                                                          {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$suncc_use_cstd_abi'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_append)} {(postdeps)} 
                                                      {(SQ <' -library=Cstd -library=Crun'>)}
                                                    )
                                                  ]
                                                  spids: [16777215 43450]
                                                )
                                              ]
                                              spids: [16777215 43462]
                                            )
                                          ]
                                          spids: [43422 43429 43465 16777215]
                                        )
                                      ]
                                      spids: [43415 43419 43468]
                                    )
                                  ]
                                  spids: [43403 43405 43471 16777215]
                                )
                              ]
                              spids: [43317 43321 43474]
                            )
                          ]
                          spids: [43314]
                        )
                      ]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:tmp_libs)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [43489]
                        )
                      ]
                      spids: [43489]
                    )
                    (ForEach
                      iter_name: i
                      iter_words: [{($ VSub_Name '$dependency_libs')}]
                      do_arg_iter: F
                      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: {(EmptyPart)}
                                          spids: [43529]
                                        )
                                      ]
                                      spids: [43529]
                                    )
                                  ]
                                  spids: [43519 43526 43532 16777215]
                                )
                              ]
                              spids: [43504 43516 43535]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$i'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_append)} {(tmp_libs)} {(DQ (' ') ($ VSub_Name '$i'))})
                                  ]
                                  spids: [16777215 43549]
                                )
                              ]
                              spids: [16777215 43562]
                            )
                          ]
                          spids: [43501 43565]
                        )
                      spids: [43497 43499]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dependency_libs)
                          op: Equal
                          rhs: {($ VSub_Name '$tmp_libs')}
                          spids: [43568]
                        )
                      ]
                      spids: [43568]
                    )
                  ]
                  spids: [34929 43572]
                )
              spids: [34925 34927]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(prog)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$linkmode'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dlfiles)
                          op: Equal
                          rhs: {($ VSub_Name '$newdlfiles')}
                          spids: [43594]
                        )
                      ]
                      spids: [43594]
                    )
                  ]
                  spids: [16777215 43591]
                )
              ]
              spids: [16777215 43598]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DPipe]
                          children: [
                            (C {(test)} {(prog)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$linkmode'))})
                            (C {(test)} {(lib)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$linkmode'))})
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dlprefiles)
                          op: Equal
                          rhs: {($ VSub_Name '$newdlprefiles')}
                          spids: [43629]
                        )
                      ]
                      spids: [43629]
                    )
                  ]
                  spids: [16777215 43626]
                )
              ]
              spids: [16777215 43633]
            )
            (Case
              to_match: {($ VSub_Name '$linkmode')}
              arms: [
                (case_arm
                  pat_list: [{(oldlib)}]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  ops: [Op_DPipe]
                                  children: [
                                    (C {(test)} {(-n)} 
                                      {(DQ ($ VSub_Name '$dlfiles') ($ VSub_Name '$dlprefiles'))}
                                    )
                                    (C {(test)} {(no)} {(KW_Bang '!') (Lit_Other '=')} 
                                      {(DQ ($ VSub_Name '$dlself'))}
                                    )
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(func_warning)} {(DQ ("'-dlopen' is ignored for archives"))})]
                          spids: [16777215 43673]
                        )
                      ]
                      spids: [16777215 43683]
                    )
                    (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 ("'-l' and '-L' are ignored for archives"))})
                          ]
                          spids: [43697 43708 43717 16777215]
                        )
                      ]
                      spids: [43687 43694 43720]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$rpath'))})
                        (C {(func_warning)} {(DQ ("'-rpath' is ignored for archives"))})
                      ]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$xrpath'))})
                        (C {(func_warning)} {(DQ ("'-R' is ignored for archives"))})
                      ]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$vinfo'))})
                        (C {(func_warning)} 
                          {(DQ ("'-version-info/-version-number' is ignored for archives"))}
                        )
                      ]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$release'))})
                        (C {(func_warning)} {(DQ ("'-release' is ignored for archives"))})
                      ]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(-n)} 
                          {
                            (DQ ($ VSub_Name '$export_symbols') ($ VSub_Name '$export_symbols_regex'))
                          }
                        )
                        (C {(func_warning)} {(DQ ("'-export-symbols' is ignored for archives"))})
                      ]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:build_libtool_libs)
                          op: Equal
                          rhs: {(no)}
                          spids: [43829]
                        )
                      ]
                      spids: [43829]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:oldlibs)
                          op: Equal
                          rhs: {($ VSub_Name '$output')}
                          spids: [43833]
                        )
                      ]
                      spids: [43833]
                    )
                    (C {(func_append)} {(objs)} {(DQ ($ VSub_Name '$old_deplibs'))})
                  ]
                  spids: [43644 43645 43846 16777215]
                )
                (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: [43885]
                                )
                              ]
                              spids: [43885]
                            )
                            (C {(eval)} 
                              {(Lit_VarLike 'shared_ext=') 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar '\\"'>
                                ) ($ VSub_Name '$shrext_cmds') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                              }
                            )
                            (C {(eval)} 
                              {(Lit_VarLike 'libname=') 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar '\\"'>
                                ) ($ VSub_Name '$libname_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                              }
                            )
                          ]
                          spids: [43865 43867 43905 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (AndOr
                              ops: [Op_DAmp]
                              children: [
                                (C {(test)} {(no)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$module'))})
                                (C {(func_fatal_help)} 
                                  {
                                    (DQ ("libtool library '") ($ VSub_Name '$output') 
                                      ("' must begin with 'lib'")
                                    )
                                  }
                                )
                              ]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(no)} {(KW_Bang '!') (Lit_Other '=')} 
                                          {(DQ ($ VSub_Name '$need_lib_prefix'))}
                                        )
                                      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: [43971]
                                        )
                                      ]
                                      spids: [43971]
                                    )
                                    (C {(eval)} 
                                      {(Lit_VarLike 'shared_ext=') 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\"'>
                                        ) ($ VSub_Name '$shrext_cmds') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                      }
                                    )
                                    (C {(eval)} 
                                      {(Lit_VarLike 'libname=') 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\"'>
                                        ) ($ VSub_Name '$libname_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                      }
                                    )
                                  ]
                                  spids: [16777215 43950]
                                )
                              ]
                              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: [44008]
                                    )
                                  ]
                                  spids: [44008]
                                )
                              ]
                              spids: [43991 44012]
                            )
                          ]
                          spids: [43908 43909 44015 16777215]
                        )
                      ]
                      spids: [43858 43862 44018]
                    )
                    (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)} {(pass_all)} {(KW_Bang '!') (Lit_Other '=')} 
                                          {(DQ ($ VSub_Name '$deplibs_check_method'))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_fatal_error)} 
                                      {
                                        (DQ ("cannot build libtool library '") ($ VSub_Name '$output') 
                                          ("' from non-libtool objects on this host:") ($ VSub_Name '$objs')
                                        )
                                      }
                                    )
                                  ]
                                  spids: [16777215 44050]
                                )
                              ]
                              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!'))}
                                )
                                (C {(func_append)} {(libobjs)} {(DQ (' ') ($ VSub_Name '$objs'))})
                              ]
                              spids: [44063 44097]
                            )
                          ]
                          spids: [16777215 44033]
                        )
                      ]
                      spids: [16777215 44100]
                    )
                    (AndOr
                      ops: [Op_DPipe]
                      children: [
                        (C {(test)} {(no)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$dlself'))})
                        (C {(func_warning)} {(DQ ("'-dlopen self' is ignored for libtool libraries"))})
                      ]
                    )
                    (C {(set)} {(dummy)} {($ VSub_Name '$rpath')})
                    (C {(shift)})
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(1)} {(-lt)} {(DQ ($ VSub_Pound '$#'))})
                        (C {(func_warning)} {(DQ ("ignoring multiple '-rpath's for a libtool library"))})
                      ]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:install_libdir)
                          op: Equal
                          rhs: {($ VSub_Number '$1')}
                          spids: [44158]
                        )
                      ]
                      spids: [44158]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:oldlibs)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [44163]
                        )
                      ]
                      spids: [44163]
                    )
                    (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)} {(yes)} {(Lit_Other '=')} 
                                          {(DQ ($ VSub_Name '$build_libtool_libs'))}
                                        )
                                      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: [44212]
                                        )
                                      ]
                                      spids: [44212]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:build_libtool_libs)
                                          op: Equal
                                          rhs: {(convenience)}
                                          spids: [44224]
                                        )
                                      ]
                                      spids: [44224]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:build_old_libs)
                                          op: Equal
                                          rhs: {(yes)}
                                          spids: [44228]
                                        )
                                      ]
                                      spids: [44228]
                                    )
                                  ]
                                  spids: [16777215 44193]
                                )
                              ]
                              spids: [16777215 44232]
                            )
                            (AndOr
                              ops: [Op_DAmp]
                              children: [
                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$vinfo'))})
                                (C {(func_warning)} 
                                  {
                                    (DQ 
                                      (
"'-version-info/-version-number' is ignored for convenience libraries"
                                      )
                                    )
                                  }
                                )
                              ]
                            )
                            (AndOr
                              ops: [Op_DAmp]
                              children: [
                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$release'))})
                                (C {(func_warning)} 
                                  {(DQ ("'-release' is ignored for convenience libraries"))}
                                )
                              ]
                            )
                          ]
                          spids: [16777215 44177]
                        )
                      ]
                      else_action: [
                        (Sentence
                          child: 
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:save_ifs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$IFS')}
                                  spids: [44283]
                                )
                              ]
                              spids: [44283]
                            )
                          terminator: <Op_Semi ';'>
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:IFS)
                              op: Equal
                              rhs: {(Lit_Other ':')}
                              spids: [44287]
                            )
                          ]
                          spids: [44287]
                        )
                        (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: {($ VSub_Name '$save_ifs')}
                              spids: [44307]
                            )
                          ]
                          spids: [44307]
                        )
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (C {(test)} {(-n)} {(DQ ($ VSub_Number '$7'))})
                            (C {(func_fatal_help)} {(DQ ("too many parameters to '-version-info'"))})
                          ]
                        )
                        (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: {($ VSub_Number '$1')}
                                      spids: [44356]
                                    )
                                  ]
                                  spids: [44356]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:number_minor)
                                      op: Equal
                                      rhs: {($ VSub_Number '$2')}
                                      spids: [44360]
                                    )
                                  ]
                                  spids: [44360]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:number_revision)
                                      op: Equal
                                      rhs: {($ VSub_Number '$3')}
                                      spids: [44364]
                                    )
                                  ]
                                  spids: [44364]
                                )
                                (Case
                                  to_match: {($ VSub_Name '$version_type')}
                                  arms: [
                                    (case_arm
                                      pat_list: [
                                        {(darwin)}
                                        {(freebsd-elf)}
                                        {(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: [44430]
                                            )
                                          ]
                                          spids: [44430]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:age)
                                              op: Equal
                                              rhs: {($ VSub_Name '$number_minor')}
                                              spids: [44434]
                                            )
                                          ]
                                          spids: [44434]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:revision)
                                              op: Equal
                                              rhs: {($ VSub_Name '$number_revision')}
                                              spids: [44438]
                                            )
                                          ]
                                          spids: [44438]
                                        )
                                      ]
                                      spids: [44407 44418 44442 16777215]
                                    )
                                    (case_arm
                                      pat_list: [{(freebsd-aout)} {(qnx)} {(sunos)}]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:current)
                                              op: Equal
                                              rhs: {($ VSub_Name '$number_major')}
                                              spids: [44453]
                                            )
                                          ]
                                          spids: [44453]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:revision)
                                              op: Equal
                                              rhs: {($ VSub_Name '$number_minor')}
                                              spids: [44457]
                                            )
                                          ]
                                          spids: [44457]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:age)
                                              op: Equal
                                              rhs: {(0)}
                                              spids: [44461]
                                            )
                                          ]
                                          spids: [44461]
                                        )
                                      ]
                                      spids: [44445 44450 44465 16777215]
                                    )
                                    (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: [44483]
                                            )
                                          ]
                                          spids: [44483]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:age)
                                              op: Equal
                                              rhs: {($ VSub_Name '$number_minor')}
                                              spids: [44487]
                                            )
                                          ]
                                          spids: [44487]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:revision)
                                              op: Equal
                                              rhs: {($ VSub_Name '$number_minor')}
                                              spids: [44491]
                                            )
                                          ]
                                          spids: [44491]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:lt_irix_increment)
                                              op: Equal
                                              rhs: {(no)}
                                              spids: [44495]
                                            )
                                          ]
                                          spids: [44495]
                                        )
                                      ]
                                      spids: [44468 44471 44499 16777215]
                                    )
                                    (case_arm
                                      pat_list: [{(Lit_Other '*')}]
                                      action: [
                                        (C {(func_fatal_configuration)} 
                                          {
                                            (DQ ($ VSub_Name '$modename') 
                                              (": unknown library version type '") ($ VSub_Name '$version_type') ("'")
                                            )
                                          }
                                        )
                                      ]
                                      spids: [44502 44503 44516 16777215]
                                    )
                                  ]
                                  spids: [44396 44400 44519]
                                )
                              ]
                              spids: [44352 44353 44522 16777215]
                            )
                            (case_arm
                              pat_list: [{(no)}]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:current)
                                      op: Equal
                                      rhs: {($ VSub_Number '$1')}
                                      spids: [44529]
                                    )
                                  ]
                                  spids: [44529]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:revision)
                                      op: Equal
                                      rhs: {($ VSub_Number '$2')}
                                      spids: [44533]
                                    )
                                  ]
                                  spids: [44533]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:age)
                                      op: Equal
                                      rhs: {($ VSub_Number '$3')}
                                      spids: [44537]
                                    )
                                  ]
                                  spids: [44537]
                                )
                              ]
                              spids: [44525 44526 44541 16777215]
                            )
                          ]
                          spids: [44345 44349 44544]
                        )
                        (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: [44559 44610 44612 16777215]
                            )
                            (case_arm
                              pat_list: [{(Lit_Other '*')}]
                              action: [
                                (C {(func_error)} 
                                  {
                                    (DQ ("CURRENT '") ($ VSub_Name '$current') 
                                      ("' must be a nonnegative integer")
                                    )
                                  }
                                )
                                (C {(func_fatal_error)} 
                                  {
                                    (DQ ("'") ($ VSub_Name '$vinfo') 
                                      ("' is not valid version information")
                                    )
                                  }
                                )
                              ]
                              spids: [44615 44616 44637 16777215]
                            )
                          ]
                          spids: [44552 44556 44640]
                        )
                        (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: [44651 44702 44704 16777215]
                            )
                            (case_arm
                              pat_list: [{(Lit_Other '*')}]
                              action: [
                                (C {(func_error)} 
                                  {
                                    (DQ ("REVISION '") ($ VSub_Name '$revision') 
                                      ("' must be a nonnegative integer")
                                    )
                                  }
                                )
                                (C {(func_fatal_error)} 
                                  {
                                    (DQ ("'") ($ VSub_Name '$vinfo') 
                                      ("' is not valid version information")
                                    )
                                  }
                                )
                              ]
                              spids: [44707 44708 44729 16777215]
                            )
                          ]
                          spids: [44644 44648 44732]
                        )
                        (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: [44743 44794 44796 16777215]
                            )
                            (case_arm
                              pat_list: [{(Lit_Other '*')}]
                              action: [
                                (C {(func_error)} 
                                  {
                                    (DQ ("AGE '") ($ VSub_Name '$age') 
                                      ("' must be a nonnegative integer")
                                    )
                                  }
                                )
                                (C {(func_fatal_error)} 
                                  {
                                    (DQ ("'") ($ VSub_Name '$vinfo') 
                                      ("' is not valid version information")
                                    )
                                  }
                                )
                              ]
                              spids: [44799 44800 44821 16777215]
                            )
                          ]
                          spids: [44736 44740 44824]
                        )
                        (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 '") ($ VSub_Name '$age') 
                                      ("' is greater than the current interface number '") ($ VSub_Name '$current') ("'")
                                    )
                                  }
                                )
                                (C {(func_fatal_error)} 
                                  {
                                    (DQ ("'") ($ VSub_Name '$vinfo') 
                                      ("' is not valid version information")
                                    )
                                  }
                                )
                              ]
                              spids: [16777215 44843]
                            )
                          ]
                          spids: [16777215 44866]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:major)
                              op: Equal
                              rhs: {(EmptyPart)}
                              spids: [44874]
                            )
                          ]
                          spids: [44874]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:versuffix)
                              op: Equal
                              rhs: {(EmptyPart)}
                              spids: [44877]
                            )
                          ]
                          spids: [44877]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:verstring)
                              op: Equal
                              rhs: {(EmptyPart)}
                              spids: [44880]
                            )
                          ]
                          spids: [44880]
                        )
                        (Case
                          to_match: {($ VSub_Name '$version_type')}
                          arms: [
                            (case_arm
                              pat_list: [{(none)}]
                              spids: [44890 44891 44893 16777215]
                            )
                            (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: [44918]
                                    )
                                  ]
                                  spids: [44918]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: 
                                        {($ VSub_Name '$major') (.) ($ VSub_Name '$age') (.) 
                                          ($ VSub_Name '$revision')
                                        }
                                      spids: [44923]
                                    )
                                  ]
                                  spids: [44923]
                                )
                                (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: [44944]
                                    )
                                  ]
                                  spids: [44944]
                                )
                                (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: [44948]
                                    )
                                  ]
                                  spids: [44948]
                                )
                                (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: [44964]
                                    )
                                  ]
                                  spids: [44964]
                                )
                                (Case
                                  to_match: {($ VSub_Name '$CC')}
                                  arms: [
                                    (case_arm
                                      pat_list: [{(nagfor) (Lit_Other '*')}]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:verstring)
                                              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: [44991]
                                            )
                                          ]
                                          spids: [44991]
                                        )
                                      ]
                                      spids: [44986 44988 45007 16777215]
                                    )
                                    (case_arm
                                      pat_list: [{(Lit_Other '*')}]
                                      action: [
                                        (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: [45014]
                                            )
                                          ]
                                          spids: [45014]
                                        )
                                      ]
                                      spids: [45010 45011 45025 16777215]
                                    )
                                  ]
                                  spids: [44979 44983 45028]
                                )
                              ]
                              spids: [44897 44898 45031 16777215]
                            )
                            (case_arm
                              pat_list: [{(freebsd-aout)}]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {(.) ($ VSub_Name '$current')}
                                      spids: [45039]
                                    )
                                  ]
                                  spids: [45039]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: 
                                        {(.) ($ VSub_Name '$current') (.) ($ VSub_Name '$revision')}
                                      spids: [45044]
                                    )
                                  ]
                                  spids: [45044]
                                )
                              ]
                              spids: [45035 45036 45051 16777215]
                            )
                            (case_arm
                              pat_list: [{(freebsd-elf)}]
                              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: [45068]
                                    )
                                  ]
                                  spids: [45068]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: 
                                        {($ VSub_Name '$major') (.) ($ VSub_Name '$age') (.) 
                                          ($ VSub_Name '$revision')
                                        }
                                      spids: [45073]
                                    )
                                  ]
                                  spids: [45073]
                                )
                              ]
                              spids: [45055 45056 45081 16777215]
                            )
                            (case_arm
                              pat_list: [{(irix)} {(nonstopux)}]
                              action: [
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (C {(test)} {(no)} {(Lit_Other '=')} 
                                              {(DQ ($ VSub_Name '$lt_irix_increment'))}
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C {(func_arith)} {($ VSub_Name '$current')} {(-)} 
                                          {($ VSub_Name '$age')}
                                        )
                                      ]
                                      spids: [16777215 45106]
                                    )
                                  ]
                                  else_action: [
                                    (C {(func_arith)} {($ VSub_Name '$current')} {(-)} 
                                      {($ VSub_Name '$age')} {(Lit_Other '+')} {(1)}
                                    )
                                  ]
                                  spids: [45118 45134]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {($ VSub_Name '$func_arith_result')}
                                      spids: [45137]
                                    )
                                  ]
                                  spids: [45137]
                                )
                                (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: [45152]
                                            )
                                          ]
                                          spids: [45152]
                                        )
                                      ]
                                      spids: [45149 45150 45155 16777215]
                                    )
                                    (case_arm
                                      pat_list: [{(Lit_Other '*')}]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:verstring_prefix)
                                              op: Equal
                                              rhs: {(sgi)}
                                              spids: [45161]
                                            )
                                          ]
                                          spids: [45161]
                                        )
                                      ]
                                      spids: [45158 45159 45164 16777215]
                                    )
                                  ]
                                  spids: [45142 45146 45167]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:verstring)
                                      op: Equal
                                      rhs: 
                                        {($ VSub_Name '$verstring_prefix') ($ VSub_Name '$major') (.) 
                                          ($ VSub_Name '$revision')
                                        }
                                      spids: [45170]
                                    )
                                  ]
                                  spids: [45170]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:loop)
                                      op: Equal
                                      rhs: {($ VSub_Name '$revision')}
                                      spids: [45182]
                                    )
                                  ]
                                  spids: [45182]
                                )
                                (WhileUntil
                                  keyword: <KW_While while>
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(0)} {(-ne)} {(DQ ($ VSub_Name '$loop'))})
                                      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: [45211]
                                            )
                                          ]
                                          spids: [45211]
                                        )
                                        (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: [45224]
                                            )
                                          ]
                                          spids: [45224]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:verstring)
                                              op: Equal
                                              rhs: 
                                                {($ VSub_Name '$verstring_prefix') 
                                                  ($ VSub_Name '$major') (.) ($ VSub_Name '$iface') (Lit_Other ':') ($ VSub_Name '$verstring')
                                                }
                                              spids: [45228]
                                            )
                                          ]
                                          spids: [45228]
                                        )
                                      ]
                                      spids: [45199 45237]
                                    )
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {(.) ($ VSub_Name '$major')}
                                      spids: [45245]
                                    )
                                  ]
                                  spids: [45245]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {($ VSub_Name '$major') (.) ($ VSub_Name '$revision')}
                                      spids: [45250]
                                    )
                                  ]
                                  spids: [45250]
                                )
                              ]
                              spids: [45085 45090 45256 16777215]
                            )
                            (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: [45276]
                                    )
                                  ]
                                  spids: [45276]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: 
                                        {($ VSub_Name '$major') (.) ($ VSub_Name '$age') (.) 
                                          ($ VSub_Name '$revision')
                                        }
                                      spids: [45281]
                                    )
                                  ]
                                  spids: [45281]
                                )
                              ]
                              spids: [45260 45261 45289 16777215]
                            )
                            (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: [45306]
                                    )
                                  ]
                                  spids: [45306]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: 
                                        {(.) ($ VSub_Name '$current') (.) ($ VSub_Name '$age') (.) 
                                          ($ VSub_Name '$revision')
                                        }
                                      spids: [45311]
                                    )
                                  ]
                                  spids: [45311]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:verstring)
                                      op: Equal
                                      rhs: 
                                        {($ VSub_Name '$current') (.) ($ VSub_Name '$age') (.) 
                                          ($ VSub_Name '$revision')
                                        }
                                      spids: [45320]
                                    )
                                  ]
                                  spids: [45320]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:loop)
                                      op: Equal
                                      rhs: {($ VSub_Name '$age')}
                                      spids: [45333]
                                    )
                                  ]
                                  spids: [45333]
                                )
                                (WhileUntil
                                  keyword: <KW_While while>
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(0)} {(-ne)} {(DQ ($ VSub_Name '$loop'))})
                                      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: [45362]
                                            )
                                          ]
                                          spids: [45362]
                                        )
                                        (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: [45375]
                                            )
                                          ]
                                          spids: [45375]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:verstring)
                                              op: Equal
                                              rhs: 
                                                {($ VSub_Name '$verstring') (Lit_Other ':') 
                                                  ($ VSub_Name '$iface') (.0)
                                                }
                                              spids: [45379]
                                            )
                                          ]
                                          spids: [45379]
                                        )
                                      ]
                                      spids: [45350 45386]
                                    )
                                )
                                (C {(func_append)} {(verstring)} 
                                  {(DQ (':') ($ VSub_Name '$current') (.0))}
                                )
                              ]
                              spids: [45293 45294 45405 16777215]
                            )
                            (case_arm
                              pat_list: [{(qnx)}]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {(.) ($ VSub_Name '$current')}
                                      spids: [45413]
                                    )
                                  ]
                                  spids: [45413]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {(.) ($ VSub_Name '$current')}
                                      spids: [45418]
                                    )
                                  ]
                                  spids: [45418]
                                )
                              ]
                              spids: [45409 45410 45423 16777215]
                            )
                            (case_arm
                              pat_list: [{(sco)}]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {(.) ($ VSub_Name '$current')}
                                      spids: [45431]
                                    )
                                  ]
                                  spids: [45431]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {(.) ($ VSub_Name '$current')}
                                      spids: [45436]
                                    )
                                  ]
                                  spids: [45436]
                                )
                              ]
                              spids: [45427 45428 45441 16777215]
                            )
                            (case_arm
                              pat_list: [{(sunos)}]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {(.) ($ VSub_Name '$current')}
                                      spids: [45449]
                                    )
                                  ]
                                  spids: [45449]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: 
                                        {(.) ($ VSub_Name '$current') (.) ($ VSub_Name '$revision')}
                                      spids: [45454]
                                    )
                                  ]
                                  spids: [45454]
                                )
                              ]
                              spids: [45445 45446 45461 16777215]
                            )
                            (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: [45486]
                                    )
                                  ]
                                  spids: [45486]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {(-) ($ VSub_Name '$major')}
                                      spids: [45490]
                                    )
                                  ]
                                  spids: [45490]
                                )
                              ]
                              spids: [45465 45466 45495 16777215]
                            )
                            (case_arm
                              pat_list: [{(Lit_Other '*')}]
                              action: [
                                (C {(func_fatal_configuration)} 
                                  {
                                    (DQ ("unknown library version type '") 
                                      ($ VSub_Name '$version_type') ("'")
                                    )
                                  }
                                )
                              ]
                              spids: [45499 45500 45512 16777215]
                            )
                          ]
                          spids: [44883 44887 45515]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (AndOr
                                      ops: [Op_DAmp]
                                      children: [
                                        (C {(test)} {(-z)} {(DQ ($ VSub_Name '$vinfo'))})
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$release'))})
                                      ]
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {(EmptyPart)}
                                      spids: [45547]
                                    )
                                  ]
                                  spids: [45547]
                                )
                                (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: {(EmptyPart)}
                                              spids: [45569]
                                            )
                                          ]
                                          spids: [45569]
                                        )
                                      ]
                                      spids: [45557 45558 45572 16777215]
                                    )
                                    (case_arm
                                      pat_list: [{(Lit_Other '*')}]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:verstring)
                                              op: Equal
                                              rhs: {(0.0)}
                                              spids: [45579]
                                            )
                                          ]
                                          spids: [45579]
                                        )
                                      ]
                                      spids: [45575 45576 45583 16777215]
                                    )
                                  ]
                                  spids: [45550 45554 45586]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (C {(test)} {(no)} {(Lit_Other '=')} 
                                              {(DQ ($ VSub_Name '$need_version'))}
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:versuffix)
                                              op: Equal
                                              rhs: {(EmptyPart)}
                                              spids: [45605]
                                            )
                                          ]
                                          spids: [45605]
                                        )
                                      ]
                                      spids: [16777215 45602]
                                    )
                                  ]
                                  else_action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:versuffix)
                                          op: Equal
                                          rhs: {(.0.0)}
                                          spids: [45611]
                                        )
                                      ]
                                      spids: [45611]
                                    )
                                  ]
                                  spids: [45608 45615]
                                )
                              ]
                              spids: [16777215 45544]
                            )
                          ]
                          spids: [16777215 45618]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (C {(test)} {(yes) (Lit_Comma ',') (no)} {(Lit_Other '=')} 
                                      {
                                        (DQ ($ VSub_Name '$avoid_version') (',') 
                                          ($ VSub_Name '$need_version')
                                        )
                                      }
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {(EmptyPart)}
                                      spids: [45646]
                                    )
                                  ]
                                  spids: [45646]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {(EmptyPart)}
                                      spids: [45649]
                                    )
                                  ]
                                  spids: [45649]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:verstring)
                                      op: Equal
                                      rhs: {(EmptyPart)}
                                      spids: [45652]
                                    )
                                  ]
                                  spids: [45652]
                                )
                              ]
                              spids: [16777215 45643]
                            )
                          ]
                          spids: [16777215 45655]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (C {(test)} {(yes)} {(Lit_Other '=')} 
                                      {(DQ ($ VSub_Name '$allow_undefined'))}
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (C {(test)} {(unsupported)} {(Lit_Other '=')} 
                                              {(DQ ($ VSub_Name '$allow_undefined_flag'))}
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (If
                                          arms: [
                                            (if_arm
                                              cond: [
                                                (Sentence
                                                  child: 
                                                    (C {(test)} {(yes)} {(Lit_Other '=')} 
                                                      {(DQ ($ VSub_Name '$build_old_libs'))}
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              action: [
                                                (C {(func_warning)} 
                                                  {
                                                    (DQ ('undefined symbols not allowed in ') 
                                                      ($ VSub_Name '$host') (' shared libraries; building static only')
                                                    )
                                                  }
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:build_libtool_libs)
                                                      op: Equal
                                                      rhs: {(no)}
                                                      spids: [45720]
                                                    )
                                                  ]
                                                  spids: [45720]
                                                )
                                              ]
                                              spids: [16777215 45708]
                                            )
                                          ]
                                          else_action: [
                                            (C {(func_fatal_error)} 
                                              {
                                                (DQ ("can't build ") ($ VSub_Name '$host') 
                                                  (
' shared library unless -no-undefined is specified'
                                                  )
                                                )
                                              }
                                            )
                                          ]
                                          spids: [45724 45736]
                                        )
                                      ]
                                      spids: [16777215 45692]
                                    )
                                  ]
                                  spids: [16777215 45739]
                                )
                              ]
                              spids: [16777215 45676]
                            )
                          ]
                          else_action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:allow_undefined_flag)
                                  op: Equal
                                  rhs: {($ VSub_Name '$no_undefined_flag')}
                                  spids: [45749]
                                )
                              ]
                              spids: [45749]
                            )
                          ]
                          spids: [45742 45753]
                        )
                      ]
                      spids: [44275 45757]
                    )
                    (C {(func_generate_dlsyms)} {(DQ ($ VSub_Name '$libname'))} 
                      {(DQ ($ VSub_Name '$libname'))} {(Lit_Other ':')}
                    )
                    (C {(func_append)} {(libobjs)} {(DQ (' ') ($ VSub_Name '$symfileobj'))})
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(DQ (' '))} {(Lit_Other '=')} {(DQ ($ VSub_Name '$libobjs'))})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:libobjs)
                              op: Equal
                              rhs: {(EmptyPart)}
                              spids: [45798]
                            )
                          ]
                          spids: [45798]
                        )
                      ]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(relink)} {(KW_Bang '!') (Lit_Other '=')} 
                                  {(DQ ($ VSub_Name '$opt_mode'))}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:removelist)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [45827]
                                )
                              ]
                              spids: [45827]
                            )
                            (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: [45831 45838]
                                      )
                                    }
                                  spids: [45830]
                                )
                              ]
                              spids: [45830]
                            )
                            (ForEach
                              iter_name: p
                              iter_words: [{($ VSub_Name '$tempremovelist')}]
                              do_arg_iter: F
                              body: 
                                (DoGroup
                                  children: [
                                    (Case
                                      to_match: {($ VSub_Name '$p')}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (.) ($ VSub_Name '$objext')}
                                            {(Lit_Other '*') (.gcno)}
                                          ]
                                          spids: [45860 45868 45871 16777215]
                                        )
                                        (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)} {(-n)} 
                                                          {
                                                            (DQ ($ VSub_Name '$precious_files_regex'))
                                                          }
                                                        )
                                                      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: <Redir_Great '>'>
                                                                      fd: 16777215
                                                                      arg_word: {(/dev/null)}
                                                                    )
                                                                    (Redir
                                                                      op: <Redir_GreatAnd '2>&'>
                                                                      fd: 2
                                                                      arg_word: {(1)}
                                                                    )
                                                                  ]
                                                                )
                                                              ]
                                                              negated: F
                                                            )
                                                          ]
                                                          action: [
                                                            (ControlFlow
                                                              token: <ControlFlow_Continue continue>
                                                            )
                                                          ]
                                                          spids: [16777215 45936]
                                                        )
                                                      ]
                                                      spids: [16777215 45942]
                                                    )
                                                  ]
                                                  spids: [16777215 45908]
                                                )
                                              ]
                                              spids: [16777215 45945]
                                            )
                                            (C {(func_append)} {(removelist)} 
                                              {(DQ (' ') ($ VSub_Name '$p'))}
                                            )
                                          ]
                                          spids: [45874 45894 45958 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          spids: [45961 45962 45964 16777215]
                                        )
                                      ]
                                      spids: [45853 45857 45967]
                                    )
                                  ]
                                  spids: [45850 45970]
                                )
                              spids: [45846 45848]
                            )
                            (AndOr
                              ops: [Op_DAmp]
                              children: [
                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$removelist'))})
                                (C {(func_show_eval)} 
                                  {
                                    (DQ (${ VSub_Name RM) ('r ') 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar '\\$'>
                                      ) (removelist)
                                    )
                                  }
                                )
                              ]
                            )
                          ]
                          spids: [16777215 45816]
                        )
                      ]
                      spids: [16777215 45997]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  ops: [Op_DAmp]
                                  children: [
                                    (C {(test)} {(yes)} {(Lit_Other '=')} 
                                      {(DQ ($ VSub_Name '$build_old_libs'))}
                                    )
                                    (C {(test)} {(convenience)} {(KW_Bang '!') (Lit_Other '=')} 
                                      {(DQ ($ VSub_Name '$build_libtool_libs'))}
                                    )
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(func_append)} {(oldlibs)} 
                              {
                                (DQ (' ') ($ VSub_Name '$output_objdir') (/) ($ VSub_Name '$libname') (.) 
                                  ($ VSub_Name '$libext')
                                )
                              }
                            )
                            (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 (/) (Lit_Other '\\') (.) 
                                                        ($ VSub_Name '$libext') (Lit_Other '$') ('/d; ') ($ VSub_Name '$lo2o')
                                                      )
                                                    }
                                                  )
                                                  (C {($ VSub_Name '$NL2SP')})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [46058 46086]
                                      )
                                    }
                                  spids: [46053]
                                )
                              ]
                              spids: [46053]
                            )
                          ]
                          spids: [16777215 46031]
                        )
                      ]
                      spids: [16777215 46089]
                    )
                    (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: {(EmptyPart)}
                                  spids: [46136]
                                )
                              ]
                              spids: [46136]
                            )
                            (ForEach
                              iter_name: libdir
                              iter_words: [{($ VSub_Name '$xrpath')}]
                              do_arg_iter: F
                              body: 
                                (DoGroup
                                  children: [
                                    (C {(func_replace_sysroot)} {(DQ ($ VSub_Name '$libdir'))})
                                    (C {(func_append)} {(temp_xrpath)} 
                                      {(DQ (' -R') ($ VSub_Name '$func_replace_sysroot_result'))}
                                    )
                                    (Case
                                      to_match: {(DQ ($ VSub_Name '$finalize_rpath') (' '))}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$libdir') (' ')) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [46178 46185 46187 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_append)} {(finalize_rpath)} 
                                              {(DQ (' ') ($ VSub_Name '$libdir'))}
                                            )
                                          ]
                                          spids: [46190 46191 46202 16777215]
                                        )
                                      ]
                                      spids: [46168 46175 46205]
                                    )
                                  ]
                                  spids: [46148 46208]
                                )
                              spids: [46144 46146]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          ops: [Op_DPipe]
                                          children: [
                                            (C {(test)} {(yes)} {(KW_Bang '!') (Lit_Other '=')} 
                                              {(DQ ($ VSub_Name '$hardcode_into_libs'))}
                                            )
                                            (C {(test)} {(yes)} {(Lit_Other '=')} 
                                              {(DQ ($ VSub_Name '$build_old_libs'))}
                                            )
                                          ]
                                        )
                                      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: [46240]
                                        )
                                      ]
                                      spids: [46240]
                                    )
                                  ]
                                  spids: [16777215 46237]
                                )
                              ]
                              spids: [16777215 46248]
                            )
                          ]
                          spids: [16777215 46129]
                        )
                      ]
                      spids: [16777215 46251]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:old_dlfiles)
                          op: Equal
                          rhs: {($ VSub_Name '$dlfiles')}
                          spids: [46259]
                        )
                      ]
                      spids: [46259]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dlfiles)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [46263]
                        )
                      ]
                      spids: [46263]
                    )
                    (ForEach
                      iter_name: lib
                      iter_words: [{($ VSub_Name '$old_dlfiles')}]
                      do_arg_iter: F
                      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: [46291 46298 46300 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(func_append)} {(dlfiles)} {(DQ (' ') ($ VSub_Name '$lib'))})
                                  ]
                                  spids: [46303 46304 46315 16777215]
                                )
                              ]
                              spids: [46278 46288 46318]
                            )
                          ]
                          spids: [46275 46321]
                        )
                      spids: [46271 46273]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:old_dlprefiles)
                          op: Equal
                          rhs: {($ VSub_Name '$dlprefiles')}
                          spids: [46329]
                        )
                      ]
                      spids: [46329]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dlprefiles)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [46333]
                        )
                      ]
                      spids: [46333]
                    )
                    (ForEach
                      iter_name: lib
                      iter_words: [{($ VSub_Name '$old_dlprefiles')}]
                      do_arg_iter: F
                      body: 
                        (DoGroup
                          children: [
                            (Case
                              to_match: {(DQ ($ VSub_Name '$dlprefiles') (' '))}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$lib') (' ')) 
                                      (Lit_Other '*')
                                    }
                                  ]
                                  spids: [46358 46365 46367 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(func_append)} {(dlprefiles)} {(DQ (' ') ($ VSub_Name '$lib'))})
                                  ]
                                  spids: [46370 46371 46382 16777215]
                                )
                              ]
                              spids: [46348 46355 46385]
                            )
                          ]
                          spids: [46345 46388]
                        )
                      spids: [46341 46343]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(yes)} {(Lit_Other '=')} 
                                  {(DQ ($ VSub_Name '$build_libtool_libs'))}
                                )
                              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: [46429 46480 46487 16777215]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-rhapsody) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-darwin1.) 
                                              (Lit_Other '[') (012) (Lit_Other ']')
                                            }
                                          ]
                                          action: [
                                            (C {(func_append)} {(deplibs)} {(DQ (' System.ltframework'))})
                                          ]
                                          spids: [46490 46505 46521 16777215]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-netbsd) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [46524 46529 46536 16777215]
                                        )
                                        (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: [46539 46560 46567 16777215]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-sco3.2v5) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-sco5v6) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [46570 46583 46590 16777215]
                                        )
                                        (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: [46593 46622 46629 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(yes)} {(Lit_Other '=')} 
                                                          {
                                                            (DQ 
                                                              ($ VSub_Name '$build_libtool_need_lc')
                                                            )
                                                          }
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_append)} {(deplibs)} {(DQ (' -lc'))})
                                                  ]
                                                  spids: [16777215 46653]
                                                )
                                              ]
                                              spids: [16777215 46665]
                                            )
                                          ]
                                          spids: [46632 46633 46668 16777215]
                                        )
                                      ]
                                      spids: [46422 46426 46671]
                                    )
                                  ]
                                  spids: [16777215 46419]
                                )
                              ]
                              spids: [16777215 46674]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:name_save)
                                  op: Equal
                                  rhs: {($ VSub_Name '$name')}
                                  spids: [46682]
                                )
                              ]
                              spids: [46682]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libname_save)
                                  op: Equal
                                  rhs: {($ VSub_Name '$libname')}
                                  spids: [46686]
                                )
                              ]
                              spids: [46686]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:release_save)
                                  op: Equal
                                  rhs: {($ VSub_Name '$release')}
                                  spids: [46690]
                                )
                              ]
                              spids: [46690]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:versuffix_save)
                                  op: Equal
                                  rhs: {($ VSub_Name '$versuffix')}
                                  spids: [46694]
                                )
                              ]
                              spids: [46694]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:major_save)
                                  op: Equal
                                  rhs: {($ VSub_Name '$major')}
                                  spids: [46698]
                                )
                              ]
                              spids: [46698]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:release)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [46714]
                                )
                              ]
                              spids: [46714]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:versuffix)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [46717]
                                )
                              ]
                              spids: [46717]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:major)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [46720]
                                )
                              ]
                              spids: [46720]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:newdeplibs)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [46723]
                                )
                              ]
                              spids: [46723]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:droppeddeps)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [46726]
                                )
                              ]
                              spids: [46726]
                            )
                            (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: [46761]
                                        )
                                      ]
                                      spids: [46761]
                                    )
                                  ]
                                  spids: [46737 46738 46765 16777215]
                                )
                                (case_arm
                                  pat_list: [{(test_compile)}]
                                  action: [
                                    (AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (C {($ VSub_Name '$RM')} {(conftest.c)})
                                      ]
                                    )
                                    (SimpleCommand
                                      words: [{(cat)}]
                                      redirects: [
                                        (Redir
                                          op: <Redir_Great '>'>
                                          fd: 16777215
                                          arg_word: {(conftest.c)}
                                        )
                                        (HereDoc
                                          op: <Redir_DLess '<<'>
                                          fd: 16777215
                                          here_begin: {(EOF)}
                                          here_end_span_id: 46808
                                          stdin_parts: [('\t  int main() { return 0; }\n')]
                                        )
                                      ]
                                    )
                                    (AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (C {($ VSub_Name '$RM')} {(conftest)})
                                      ]
                                    )
                                    (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: [46838 46842]
                                                      )
                                                    }
                                                  spids: [46837]
                                                )
                                              ]
                                              spids: [46837]
                                            )
                                            (ForEach
                                              iter_name: i
                                              iter_words: [{($ VSub_Name '$deplibs')}]
                                              do_arg_iter: F
                                              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: [46881]
                                                                )
                                                              ]
                                                              spids: [46881]
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(test)} {(yes)} 
                                                                          {(Lit_Other '=')} {(DQ ($ VSub_Name '$allow_libtool_libs_with_static_runtimes'))}
                                                                        )
                                                                      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: [
                                                                            (C {(func_append)} 
                                                                              {(newdeplibs)} {(DQ (' ') ($ VSub_Name '$i'))}
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: i
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: {(EmptyPart)}
                                                                                  spids: [46934]
                                                                                )
                                                                              ]
                                                                              spids: [46934]
                                                                            )
                                                                          ]
                                                                          spids: [
46914
46921
46937
16777215
                                                                          ]
                                                                        )
                                                                      ]
                                                                      spids: [46901 46911 46940]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 46898]
                                                                )
                                                              ]
                                                              spids: [16777215 46943]
                                                            )
                                                            (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:libname)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (CommandSubPart
                                                                                command_list: 
                                                                                  (CommandList
                                                                                    children: [
                                                                                      (C {(eval)} 
                                                                                        {
                                                                                          (DQ 
                                                                                            (EscapedLiteralPart
                                                                                              token: 
                                                                                                <
Lit_EscapedChar '\\\\'
                                                                                                >
                                                                                            ) ($ VSub_Name '$ECHO') (' ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                                                                            ($ 
VSub_Name '$libname_spec'
                                                                                            ) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                                                          )
                                                                                        }
                                                                                      )
                                                                                    ]
                                                                                  )
                                                                                left_token: 
                                                                                  <Left_Backtick 
'`'
                                                                                  >
                                                                                spids: [46961 46972]
                                                                              )
                                                                            }
                                                                          spids: [46960]
                                                                        )
                                                                      ]
                                                                      spids: [46960]
                                                                    )
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: deplib_matches
                                                                            )
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (CommandSubPart
                                                                                command_list: 
                                                                                  (CommandList
                                                                                    children: [
                                                                                      (C {(eval)} 
                                                                                        {
                                                                                          (DQ 
                                                                                            (EscapedLiteralPart
                                                                                              token: 
                                                                                                <
Lit_EscapedChar '\\\\'
                                                                                                >
                                                                                            ) ($ VSub_Name '$ECHO') (' ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                                                                            ($ 
VSub_Name '$library_names_spec'
                                                                                            ) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                                                          )
                                                                                        }
                                                                                      )
                                                                                    ]
                                                                                  )
                                                                                left_token: 
                                                                                  <Left_Backtick 
'`'
                                                                                  >
                                                                                spids: [46976 46987]
                                                                              )
                                                                            }
                                                                          spids: [46975]
                                                                        )
                                                                      ]
                                                                      spids: [46975]
                                                                    )
                                                                    (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: [47000]
                                                                        )
                                                                      ]
                                                                      spids: [47000]
                                                                    )
                                                                    (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: [
47008
47021
                                                                                      ]
                                                                                    )
                                                                                  } {(-ne)} {(0)}
                                                                                )
                                                                              terminator: 
                                                                                <Op_Semi ';'>
                                                                            )
                                                                          ]
                                                                          action: [
                                                                            (C {(func_append)} 
                                                                              {(newdeplibs)} {(DQ (' ') ($ VSub_Name '$i'))}
                                                                            )
                                                                          ]
                                                                          spids: [16777215 47028]
                                                                        )
                                                                      ]
                                                                      else_action: [
                                                                        (Assignment
                                                                          keyword: Assign_None
                                                                          pairs: [
                                                                            (assign_pair
                                                                              lhs: 
                                                                                (LhsName
                                                                                  name: droppeddeps
                                                                                )
                                                                              op: Equal
                                                                              rhs: {(yes)}
                                                                              spids: [47044]
                                                                            )
                                                                          ]
                                                                          spids: [47044]
                                                                        )
                                                                        (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: [47041 47095]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 46957]
                                                                )
                                                              ]
                                                              spids: [16777215 47098]
                                                            )
                                                          ]
                                                          spids: [46864 46866 47101 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (C {(func_append)} {(newdeplibs)} 
                                                              {(DQ (' ') ($ VSub_Name '$i'))}
                                                            )
                                                          ]
                                                          spids: [47104 47105 47118 16777215]
                                                        )
                                                      ]
                                                      spids: [46857 46861 47121]
                                                    )
                                                  ]
                                                  spids: [46854 47124]
                                                )
                                              spids: [46850 46852]
                                            )
                                          ]
                                          spids: [16777215 46834]
                                        )
                                      ]
                                      else_action: [
                                        (ForEach
                                          iter_name: i
                                          iter_words: [{($ VSub_Name '$deplibs')}]
                                          do_arg_iter: F
                                          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: [47174]
                                                            )
                                                          ]
                                                          spids: [47174]
                                                        )
                                                        (AndOr
                                                          ops: [Op_DPipe]
                                                          children: [
                                                            (C {($ VSub_Name '$opt_dry_run')})
                                                            (C {($ VSub_Name '$RM')} {(conftest)})
                                                          ]
                                                        )
                                                        (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: [47206 47210]
                                                                          )
                                                                        }
                                                                      spids: [47205]
                                                                    )
                                                                  ]
                                                                  spids: [47205]
                                                                )
                                                                (If
                                                                  arms: [
                                                                    (if_arm
                                                                      cond: [
                                                                        (Sentence
                                                                          child: 
                                                                            (C {(test)} {(yes)} 
                                                                              {(Lit_Other '=')} {(DQ ($ VSub_Name '$allow_libtool_libs_with_static_runtimes'))}
                                                                            )
                                                                          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: [
                                                                                (C {(func_append)} 
                                                                                  {(newdeplibs)} {(DQ (' ') ($ VSub_Name '$i'))}
                                                                                )
                                                                                (Assignment
                                                                                  keyword: 
Assign_None
                                                                                  pairs: [
                                                                                    (assign_pair
                                                                                      lhs: 
                                                                                        (LhsName
                                                                                          name: i
                                                                                        )
                                                                                      op: Equal
                                                                                      rhs: {(EmptyPart)}
                                                                                      spids: [47262]
                                                                                    )
                                                                                  ]
                                                                                  spids: [47262]
                                                                                )
                                                                              ]
                                                                              spids: [
47242
47249
47265
16777215
                                                                              ]
                                                                            )
                                                                          ]
                                                                          spids: [47229 47239 47268]
                                                                        )
                                                                      ]
                                                                      spids: [16777215 47226]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 47271]
                                                                )
                                                                (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: libname
                                                                                )
                                                                              op: Equal
                                                                              rhs: 
                                                                                {
                                                                                  (CommandSubPart
                                                                                    command_list: 
                                                                                      (CommandList
                                                                                        children: [
                                                                                          (C {(eval)} 
                                                                                            {
                                                                                              (DQ 
                                                                                                (EscapedLiteralPart
                                                                                                  token: 
                                                                                                    <
Lit_EscapedChar '\\\\'
                                                                                                    >
                                                                                                ) ($ VSub_Name '$ECHO') (' ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                                                                                ($ 
VSub_Name '$libname_spec'
                                                                                                ) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                                                              )
                                                                                            }
                                                                                          )
                                                                                        ]
                                                                                      )
                                                                                    left_token: 
                                                                                      <
Left_Backtick '`'
                                                                                      >
                                                                                    spids: [
47289
47300
                                                                                    ]
                                                                                  )
                                                                                }
                                                                              spids: [47288]
                                                                            )
                                                                          ]
                                                                          spids: [47288]
                                                                        )
                                                                        (Assignment
                                                                          keyword: Assign_None
                                                                          pairs: [
                                                                            (assign_pair
                                                                              lhs: 
                                                                                (LhsName
                                                                                  name: 
deplib_matches
                                                                                )
                                                                              op: Equal
                                                                              rhs: 
                                                                                {
                                                                                  (CommandSubPart
                                                                                    command_list: 
                                                                                      (CommandList
                                                                                        children: [
                                                                                          (C {(eval)} 
                                                                                            {
                                                                                              (DQ 
                                                                                                (EscapedLiteralPart
                                                                                                  token: 
                                                                                                    <
Lit_EscapedChar '\\\\'
                                                                                                    >
                                                                                                ) ($ VSub_Name '$ECHO') (' ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                                                                                ($ 
VSub_Name '$library_names_spec'
                                                                                                ) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                                                              )
                                                                                            }
                                                                                          )
                                                                                        ]
                                                                                      )
                                                                                    left_token: 
                                                                                      <
Left_Backtick '`'
                                                                                      >
                                                                                    spids: [
47304
47315
                                                                                    ]
                                                                                  )
                                                                                }
                                                                              spids: [47303]
                                                                            )
                                                                          ]
                                                                          spids: [47303]
                                                                        )
                                                                        (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: [47328]
                                                                            )
                                                                          ]
                                                                          spids: [47328]
                                                                        )
                                                                        (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: [
47336
47349
                                                                                          ]
                                                                                        )
                                                                                      } {(-ne)} {(0)}
                                                                                    )
                                                                                  terminator: 
                                                                                    <Op_Semi ';'>
                                                                                )
                                                                              ]
                                                                              action: [
                                                                                (C {(func_append)} 
                                                                                  {(newdeplibs)} {(DQ (' ') ($ VSub_Name '$i'))}
                                                                                )
                                                                              ]
                                                                              spids: [16777215 47356]
                                                                            )
                                                                          ]
                                                                          else_action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: 
droppeddeps
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: {(yes)}
                                                                                  spids: [47372]
                                                                                )
                                                                              ]
                                                                              spids: [47372]
                                                                            )
                                                                            (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: [47369 47423]
                                                                        )
                                                                      ]
                                                                      spids: [16777215 47285]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 47426]
                                                                )
                                                              ]
                                                              spids: [16777215 47202]
                                                            )
                                                          ]
                                                          else_action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:droppeddeps)
                                                                  op: Equal
                                                                  rhs: {(yes)}
                                                                  spids: [47432]
                                                                )
                                                              ]
                                                              spids: [47432]
                                                            )
                                                            (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: [47429 47469]
                                                        )
                                                      ]
                                                      spids: [47157 47159 47472 16777215]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other '*')}]
                                                      action: [
                                                        (C {(func_append)} {(newdeplibs)} 
                                                          {(DQ (' ') ($ VSub_Name '$i'))}
                                                        )
                                                      ]
                                                      spids: [47475 47476 47489 16777215]
                                                    )
                                                  ]
                                                  spids: [47150 47154 47492]
                                                )
                                              ]
                                              spids: [47147 47495]
                                            )
                                          spids: [47143 47145]
                                        )
                                      ]
                                      spids: [47127 47498]
                                    )
                                  ]
                                  spids: [46768 46769 47501 16777215]
                                )
                                (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') (' ') (Lit_Other '\\') ('(.*') (Lit_Other '\\') (')'))}
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [47520 47537]
                                              )
                                            }
                                          spids: [47519]
                                        )
                                      ]
                                      spids: [47519]
                                    )
                                    (ForEach
                                      iter_name: a_deplib
                                      iter_words: [{($ VSub_Name '$deplibs')}]
                                      do_arg_iter: F
                                      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: [47576]
                                                        )
                                                      ]
                                                      spids: [47576]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} {(yes)} {(Lit_Other '=')} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name 
'$allow_libtool_libs_with_static_runtimes'
                                                                      )
                                                                    )
                                                                  }
                                                                )
                                                              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: [
                                                                    (C {(func_append)} {(newdeplibs)} 
                                                                      {
                                                                        (DQ (' ') 
                                                                          ($ VSub_Name '$a_deplib')
                                                                        )
                                                                      }
                                                                    )
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: a_deplib
                                                                            )
                                                                          op: Equal
                                                                          rhs: {(EmptyPart)}
                                                                          spids: [47629]
                                                                        )
                                                                      ]
                                                                      spids: [47629]
                                                                    )
                                                                  ]
                                                                  spids: [47609 47616 47632 16777215]
                                                                )
                                                              ]
                                                              spids: [47596 47606 47635]
                                                            )
                                                          ]
                                                          spids: [16777215 47593]
                                                        )
                                                      ]
                                                      spids: [16777215 47638]
                                                    )
                                                    (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:libname)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (CommandSubPart
                                                                        command_list: 
                                                                          (CommandList
                                                                            children: [
                                                                              (C {(eval)} 
                                                                                {
                                                                                  (DQ 
                                                                                    (EscapedLiteralPart
                                                                                      token: 
                                                                                        <
Lit_EscapedChar '\\\\'
                                                                                        >
                                                                                    ) ($ VSub_Name '$ECHO') (' ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                                                                    ($ VSub_Name 
'$libname_spec'
                                                                                    ) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                                                  )
                                                                                }
                                                                              )
                                                                            ]
                                                                          )
                                                                        left_token: 
                                                                          <Left_Backtick '`'>
                                                                        spids: [47656 47667]
                                                                      )
                                                                    }
                                                                  spids: [47655]
                                                                )
                                                              ]
                                                              spids: [47655]
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(test)} {(-n)} 
                                                                          {
                                                                            (DQ 
                                                                              ($ VSub_Name 
'$file_magic_glob'
                                                                              )
                                                                            )
                                                                          }
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: libnameglob
                                                                            )
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (CommandSubPart
                                                                                command_list: 
                                                                                  (CommandList
                                                                                    children: [
                                                                                      (Pipeline
                                                                                        children: [
                                                                                          (C 
                                                                                            {
                                                                                              (
func_echo_all
                                                                                              )
                                                                                            } {(DQ ($ VSub_Name '$libname'))}
                                                                                          )
                                                                                          (C 
                                                                                            {
                                                                                              ($ 
VSub_Name '$SED'
                                                                                              )
                                                                                            } {(-e)} {($ VSub_Name '$file_magic_glob')}
                                                                                          )
                                                                                        ]
                                                                                        negated: F
                                                                                      )
                                                                                    ]
                                                                                  )
                                                                                left_token: 
                                                                                  <Left_Backtick 
'`'
                                                                                  >
                                                                                spids: [47685 47699]
                                                                              )
                                                                            }
                                                                          spids: [47684]
                                                                        )
                                                                      ]
                                                                      spids: [47684]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 47681]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:libnameglob)
                                                                      op: Equal
                                                                      rhs: {($ VSub_Name '$libname')}
                                                                      spids: [47705]
                                                                    )
                                                                  ]
                                                                  spids: [47705]
                                                                )
                                                              ]
                                                              spids: [47702 47709]
                                                            )
                                                            (AndOr
                                                              ops: [Op_DAmp]
                                                              children: [
                                                                (C {(test)} {(yes)} {(Lit_Other '=')} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name '$want_nocaseglob')
                                                                    )
                                                                  }
                                                                )
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:nocaseglob)
                                                                      op: Equal
                                                                      rhs: 
                                                                        {
                                                                          (CommandSubPart
                                                                            command_list: 
                                                                              (CommandList
                                                                                children: [
                                                                                  (C {(shopt)} {(-p)} 
                                                                                    {(nocaseglob)}
                                                                                  )
                                                                                ]
                                                                              )
                                                                            left_token: 
                                                                              <Left_Backtick '`'>
                                                                            spids: [47725 47731]
                                                                          )
                                                                        }
                                                                      spids: [47724]
                                                                    )
                                                                  ]
                                                                  spids: [47724]
                                                                )
                                                              ]
                                                            )
                                                            (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: F
                                                              body: 
                                                                (DoGroup
                                                                  children: [
                                                                    (If
                                                                      arms: [
                                                                        (if_arm
                                                                          cond: [
                                                                            (Sentence
                                                                              child: 
                                                                                (C {(test)} {(yes)} 
                                                                                  {(Lit_Other '=')} {(DQ ($ VSub_Name '$want_nocaseglob'))}
                                                                                )
                                                                              terminator: 
                                                                                <Op_Semi ';'>
                                                                            )
                                                                          ]
                                                                          action: [
                                                                            (C {(shopt)} {(-s)} 
                                                                              {(nocaseglob)}
                                                                            )
                                                                            (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 '$libnameglob') (Lit_Other '[') (.-) (Lit_Other ']') (Lit_Other '*')
                                                                                                  }
                                                                                                ]
                                                                                                redirects: [
                                                                                                  (Redir
                                                                                                    op: 
                                                                                                      <
Redir_Great '2>'
                                                                                                      >
                                                                                                    fd: 
2
                                                                                                    arg_word: 
                                                                                                      {
                                                                                                        (
/dev/null
                                                                                                        )
                                                                                                      }
                                                                                                  )
                                                                                                ]
                                                                                              )
                                                                                            ]
                                                                                          )
                                                                                        left_token: 
                                                                                          <
Left_Backtick '`'
                                                                                          >
                                                                                        spids: [
47774
47787
                                                                                        ]
                                                                                      )
                                                                                    }
                                                                                  spids: [47773]
                                                                                )
                                                                              ]
                                                                              spids: [47773]
                                                                            )
                                                                            (C 
                                                                              {
                                                                                ($ VSub_Name 
'$nocaseglob'
                                                                                )
                                                                              }
                                                                            )
                                                                          ]
                                                                          spids: [16777215 47763]
                                                                        )
                                                                      ]
                                                                      else_action: [
                                                                        (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 '$libnameglob') (Lit_Other '[') (.-) (Lit_Other ']') (Lit_Other '*')
                                                                                              }
                                                                                            ]
                                                                                            redirects: [
                                                                                              (Redir
                                                                                                op: 
                                                                                                  <
Redir_Great '2>'
                                                                                                  >
                                                                                                fd: 
2
                                                                                                arg_word: 
                                                                                                  {
                                                                                                    (
/dev/null
                                                                                                    )
                                                                                                  }
                                                                                              )
                                                                                            ]
                                                                                          )
                                                                                        ]
                                                                                      )
                                                                                    left_token: 
                                                                                      <
Left_Backtick '`'
                                                                                      >
                                                                                    spids: [
47797
47810
                                                                                    ]
                                                                                  )
                                                                                }
                                                                              spids: [47796]
                                                                            )
                                                                          ]
                                                                          spids: [47796]
                                                                        )
                                                                      ]
                                                                      spids: [47793 47813]
                                                                    )
                                                                    (ForEach
                                                                      iter_name: potent_lib
                                                                      iter_words: [
                                                                        {
                                                                          ($ VSub_Name 
'$potential_libs'
                                                                          )
                                                                        }
                                                                      ]
                                                                      do_arg_iter: F
                                                                      body: 
                                                                        (DoGroup
                                                                          children: [
                                                                            (If
                                                                              arms: [
                                                                                (if_arm
                                                                                  cond: [
                                                                                    (Sentence
                                                                                      child: 
                                                                                        (Pipeline
                                                                                          children: [
                                                                                            (SimpleCommand
                                                                                              words: [
                                                                                                {
                                                                                                  (
ls
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (
-lLd
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (DQ 
                                                                                                    ($ 
VSub_Name '$potent_lib'
                                                                                                    )
                                                                                                  )
                                                                                                }
                                                                                              ]
                                                                                              redirects: [
                                                                                                (Redir
                                                                                                  op: 
                                                                                                    <
Redir_Great '2>'
                                                                                                    >
                                                                                                  fd: 
2
                                                                                                  arg_word: 
                                                                                                    {
                                                                                                      (
/dev/null
                                                                                                      )
                                                                                                    }
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                            (SimpleCommand
                                                                                              words: [
                                                                                                {
                                                                                                  ($ 
VSub_Name '$GREP'
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (DQ 
                                                                                                    (
' -> '
                                                                                                    )
                                                                                                  )
                                                                                                }
                                                                                              ]
                                                                                              redirects: [
                                                                                                (Redir
                                                                                                  op: 
                                                                                                    <
Redir_Great '>'
                                                                                                    >
                                                                                                  fd: 
16777215
                                                                                                  arg_word: 
                                                                                                    {
                                                                                                      (
/dev/null
                                                                                                      )
                                                                                                    }
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          negated: F
                                                                                        )
                                                                                      terminator: 
                                                                                        <Op_Semi 
';'
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  action: [
                                                                                    (ControlFlow
                                                                                      token: 
                                                                                        <
ControlFlow_Continue continue
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  spids: [
16777215
47858
                                                                                  ]
                                                                                )
                                                                              ]
                                                                              spids: [16777215 47864]
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: potlib
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      ($ VSub_Name 
'$potent_lib'
                                                                                      )
                                                                                    }
                                                                                  spids: [47887]
                                                                                )
                                                                              ]
                                                                              spids: [47887]
                                                                            )
                                                                            (WhileUntil
                                                                              keyword: 
                                                                                <KW_While while>
                                                                              cond: [
                                                                                (Sentence
                                                                                  child: 
                                                                                    (SimpleCommand
                                                                                      words: [
                                                                                        {(test)}
                                                                                        {(-h)}
                                                                                        {
                                                                                          (DQ 
                                                                                            ($ 
VSub_Name '$potlib'
                                                                                            )
                                                                                          )
                                                                                        }
                                                                                      ]
                                                                                      redirects: [
                                                                                        (Redir
                                                                                          op: 
                                                                                            <
Redir_Great '2>'
                                                                                            >
                                                                                          fd: 2
                                                                                          arg_word: 
                                                                                            {
                                                                                              (
/dev/null
                                                                                              )
                                                                                            }
                                                                                        )
                                                                                      ]
                                                                                    )
                                                                                  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: 
F
                                                                                                      )
                                                                                                    ]
                                                                                                  )
                                                                                                left_token: 
                                                                                                  <
Left_Backtick '`'
                                                                                                  >
                                                                                                spids: [
47909
47923
                                                                                                ]
                                                                                              )
                                                                                            }
                                                                                          spids: [
47908
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [47908]
                                                                                    )
                                                                                    (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: 
                                                                                                    {
                                                                                                      ($ 
VSub_Name '$potliblink'
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
47952
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
47952
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
47933
47950
47954
16777215
                                                                                          ]
                                                                                        )
                                                                                        (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: 
F
                                                                                                              )
                                                                                                            ]
                                                                                                          )
                                                                                                        left_token: 
                                                                                                          <
Left_Backtick '`'
                                                                                                          >
                                                                                                        spids: [
47961
47975
                                                                                                        ]
                                                                                                      ) (DQ ($ VSub_Name '$potliblink'))
                                                                                                    }
                                                                                                  spids: [
47960
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
47960
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
47957
47958
47979
16777215
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
47926
47930
47982
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  spids: [47905 47985]
                                                                                )
                                                                            )
                                                                            (If
                                                                              arms: [
                                                                                (if_arm
                                                                                  cond: [
                                                                                    (Sentence
                                                                                      child: 
                                                                                        (Pipeline
                                                                                          children: [
                                                                                            (SimpleCommand
                                                                                              words: [
                                                                                                {
                                                                                                  (
eval
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  ($ 
VSub_Name '$file_magic_cmd'
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (EscapedLiteralPart
                                                                                                    token: 
                                                                                                      <
Lit_EscapedChar '\\"'
                                                                                                      >
                                                                                                  ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (potlib) 
                                                                                                  (EscapedLiteralPart
                                                                                                    token: 
                                                                                                      <
Lit_EscapedChar '\\"'
                                                                                                      >
                                                                                                  )
                                                                                                }
                                                                                              ]
                                                                                              redirects: [
                                                                                                (Redir
                                                                                                  op: 
                                                                                                    <
Redir_Great '2>'
                                                                                                    >
                                                                                                  fd: 
2
                                                                                                  arg_word: 
                                                                                                    {
                                                                                                      (
/dev/null
                                                                                                      )
                                                                                                    }
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                            (C 
                                                                                              {
                                                                                                ($ 
VSub_Name '$SED'
                                                                                                )
                                                                                              } {(-e)} {(10q)}
                                                                                            )
                                                                                            (SimpleCommand
                                                                                              words: [
                                                                                                {
                                                                                                  ($ 
VSub_Name '$EGREP'
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (DQ 
                                                                                                    ($ 
VSub_Name '$file_magic_regex'
                                                                                                    )
                                                                                                  )
                                                                                                }
                                                                                              ]
                                                                                              redirects: [
                                                                                                (Redir
                                                                                                  op: 
                                                                                                    <
Redir_Great '>'
                                                                                                    >
                                                                                                  fd: 
16777215
                                                                                                  arg_word: 
                                                                                                    {
                                                                                                      (
/dev/null
                                                                                                      )
                                                                                                    }
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          negated: F
                                                                                        )
                                                                                      terminator: 
                                                                                        <Op_Semi 
';'
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  action: [
                                                                                    (C {(func_append)} 
                                                                                      {(newdeplibs)} {(DQ (' ') ($ VSub_Name '$a_deplib'))}
                                                                                    )
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
a_deplib
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: {(EmptyPart)}
                                                                                          spids: [
48038
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [48038]
                                                                                    )
                                                                                    (ControlFlow
                                                                                      token: 
                                                                                        <
ControlFlow_Break break
                                                                                        >
                                                                                      arg_word: {(2)}
                                                                                    )
                                                                                  ]
                                                                                  spids: [
16777215
48025
                                                                                  ]
                                                                                )
                                                                              ]
                                                                              spids: [16777215 48046]
                                                                            )
                                                                          ]
                                                                          spids: [47825 48049]
                                                                        )
                                                                      spids: [47821 47823]
                                                                    )
                                                                  ]
                                                                  spids: [47747 48052]
                                                                )
                                                              spids: [47739 47745]
                                                            )
                                                          ]
                                                          spids: [16777215 47652]
                                                        )
                                                      ]
                                                      spids: [16777215 48055]
                                                    )
                                                    (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: [48072]
                                                                )
                                                              ]
                                                              spids: [48072]
                                                            )
                                                            (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: [16777215 48127]
                                                                )
                                                              ]
                                                              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: [48139 48159]
                                                            )
                                                          ]
                                                          spids: [16777215 48069]
                                                        )
                                                      ]
                                                      spids: [16777215 48162]
                                                    )
                                                  ]
                                                  spids: [47559 47561 48165 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (C {(func_append)} {(newdeplibs)} 
                                                      {(DQ (' ') ($ VSub_Name '$a_deplib'))}
                                                    )
                                                  ]
                                                  spids: [48168 48169 48186 16777215]
                                                )
                                              ]
                                              spids: [47552 47556 48189]
                                            )
                                          ]
                                          spids: [47549 48192]
                                        )
                                      spids: [47545 47547]
                                    )
                                  ]
                                  spids: [47504 47506 48198 16777215]
                                )
                                (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') (' ') (Lit_Other '\\') ('(.*') (Lit_Other '\\') (')'))}
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [48217 48234]
                                              )
                                            }
                                          spids: [48216]
                                        )
                                      ]
                                      spids: [48216]
                                    )
                                    (ForEach
                                      iter_name: a_deplib
                                      iter_words: [{($ VSub_Name '$deplibs')}]
                                      do_arg_iter: F
                                      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: [48273]
                                                        )
                                                      ]
                                                      spids: [48273]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} {(yes)} {(Lit_Other '=')} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name 
'$allow_libtool_libs_with_static_runtimes'
                                                                      )
                                                                    )
                                                                  }
                                                                )
                                                              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: [
                                                                    (C {(func_append)} {(newdeplibs)} 
                                                                      {
                                                                        (DQ (' ') 
                                                                          ($ VSub_Name '$a_deplib')
                                                                        )
                                                                      }
                                                                    )
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: a_deplib
                                                                            )
                                                                          op: Equal
                                                                          rhs: {(EmptyPart)}
                                                                          spids: [48326]
                                                                        )
                                                                      ]
                                                                      spids: [48326]
                                                                    )
                                                                  ]
                                                                  spids: [48306 48313 48329 16777215]
                                                                )
                                                              ]
                                                              spids: [48293 48303 48332]
                                                            )
                                                          ]
                                                          spids: [16777215 48290]
                                                        )
                                                      ]
                                                      spids: [16777215 48335]
                                                    )
                                                    (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:libname)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (CommandSubPart
                                                                        command_list: 
                                                                          (CommandList
                                                                            children: [
                                                                              (C {(eval)} 
                                                                                {
                                                                                  (DQ 
                                                                                    (EscapedLiteralPart
                                                                                      token: 
                                                                                        <
Lit_EscapedChar '\\\\'
                                                                                        >
                                                                                    ) ($ VSub_Name '$ECHO') (' ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                                                                    ($ VSub_Name 
'$libname_spec'
                                                                                    ) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                                                  )
                                                                                }
                                                                              )
                                                                            ]
                                                                          )
                                                                        left_token: 
                                                                          <Left_Backtick '`'>
                                                                        spids: [48353 48364]
                                                                      )
                                                                    }
                                                                  spids: [48352]
                                                                )
                                                              ]
                                                              spids: [48352]
                                                            )
                                                            (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: F
                                                              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: 
                                                                                              <
Redir_Great '2>'
                                                                                              >
                                                                                            fd: 2
                                                                                            arg_word: 
                                                                                              {
                                                                                                (
/dev/null
                                                                                                )
                                                                                              }
                                                                                          )
                                                                                        ]
                                                                                      )
                                                                                    ]
                                                                                  )
                                                                                left_token: 
                                                                                  <Left_Backtick 
'`'
                                                                                  >
                                                                                spids: [48384 48397]
                                                                              )
                                                                            }
                                                                          spids: [48383]
                                                                        )
                                                                      ]
                                                                      spids: [48383]
                                                                    )
                                                                    (ForEach
                                                                      iter_name: potent_lib
                                                                      iter_words: [
                                                                        {
                                                                          ($ VSub_Name 
'$potential_libs'
                                                                          )
                                                                        }
                                                                      ]
                                                                      do_arg_iter: F
                                                                      body: 
                                                                        (DoGroup
                                                                          children: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: potlib
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      ($ VSub_Name 
'$potent_lib'
                                                                                      )
                                                                                    }
                                                                                  spids: [48412]
                                                                                )
                                                                              ]
                                                                              spids: [48412]
                                                                            )
                                                                            (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: 
                                                                                                    <
Redir_Great '2>'
                                                                                                    >
                                                                                                  fd: 
2
                                                                                                  arg_word: 
                                                                                                    {
                                                                                                      (
/dev/null
                                                                                                      )
                                                                                                    }
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                            (C 
                                                                                              {
                                                                                                ($ 
VSub_Name '$SED'
                                                                                                )
                                                                                              } {(10q)}
                                                                                            )
                                                                                            (SimpleCommand
                                                                                              words: [
                                                                                                {
                                                                                                  ($ 
VSub_Name '$EGREP'
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (DQ 
                                                                                                    ($ 
VSub_Name '$match_pattern_regex'
                                                                                                    )
                                                                                                  )
                                                                                                }
                                                                                              ]
                                                                                              redirects: [
                                                                                                (Redir
                                                                                                  op: 
                                                                                                    <
Redir_Great '>'
                                                                                                    >
                                                                                                  fd: 
16777215
                                                                                                  arg_word: 
                                                                                                    {
                                                                                                      (
/dev/null
                                                                                                      )
                                                                                                    }
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          negated: F
                                                                                        )
                                                                                      terminator: 
                                                                                        <Op_Semi 
';'
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  action: [
                                                                                    (C {(func_append)} 
                                                                                      {(newdeplibs)} {(DQ (' ') ($ VSub_Name '$a_deplib'))}
                                                                                    )
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
a_deplib
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: {(EmptyPart)}
                                                                                          spids: [
48468
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [48468]
                                                                                    )
                                                                                    (ControlFlow
                                                                                      token: 
                                                                                        <
ControlFlow_Break break
                                                                                        >
                                                                                      arg_word: {(2)}
                                                                                    )
                                                                                  ]
                                                                                  spids: [
16777215
48455
                                                                                  ]
                                                                                )
                                                                              ]
                                                                              spids: [16777215 48476]
                                                                            )
                                                                          ]
                                                                          spids: [48409 48479]
                                                                        )
                                                                      spids: [48405 48407]
                                                                    )
                                                                  ]
                                                                  spids: [48380 48482]
                                                                )
                                                              spids: [48372 48378]
                                                            )
                                                          ]
                                                          spids: [16777215 48349]
                                                        )
                                                      ]
                                                      spids: [16777215 48485]
                                                    )
                                                    (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: [48502]
                                                                )
                                                              ]
                                                              spids: [48502]
                                                            )
                                                            (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: [16777215 48557]
                                                                )
                                                              ]
                                                              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: [48569 48589]
                                                            )
                                                          ]
                                                          spids: [16777215 48499]
                                                        )
                                                      ]
                                                      spids: [16777215 48592]
                                                    )
                                                  ]
                                                  spids: [48256 48258 48595 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (C {(func_append)} {(newdeplibs)} 
                                                      {(DQ (' ') ($ VSub_Name '$a_deplib'))}
                                                    )
                                                  ]
                                                  spids: [48598 48599 48616 16777215]
                                                )
                                              ]
                                              spids: [48249 48253 48619]
                                            )
                                          ]
                                          spids: [48246 48622]
                                        )
                                      spids: [48242 48244]
                                    )
                                  ]
                                  spids: [48201 48203 48628 16777215]
                                )
                                (case_arm
                                  pat_list: [{(none)} {(unknown)} {(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:newdeplibs)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [48643]
                                        )
                                      ]
                                      spids: [48643]
                                    )
                                    (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: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [48647 48662]
                                              )
                                            }
                                          spids: [48646]
                                        )
                                      ]
                                      spids: [48646]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(yes)} {(Lit_Other '=')} 
                                                  {
                                                    (DQ 
                                                      ($ VSub_Name 
'$allow_libtool_libs_with_static_runtimes'
                                                      )
                                                    )
                                                  }
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (ForEach
                                              iter_name: i
                                              iter_words: [
                                                {($ VSub_Name '$predeps')}
                                                {($ VSub_Name '$postdeps')}
                                              ]
                                              do_arg_iter: F
                                              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: F
                                                                      )
                                                                    ]
                                                                  )
                                                                left_token: <Left_Backtick '`'>
                                                                spids: [48700 48717]
                                                              )
                                                            }
                                                          spids: [48699]
                                                        )
                                                      ]
                                                      spids: [48699]
                                                    )
                                                  ]
                                                  spids: [48692 48720]
                                                )
                                              spids: [48686 48690]
                                            )
                                          ]
                                          spids: [16777215 48678]
                                        )
                                      ]
                                      spids: [16777215 48723]
                                    )
                                    (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)} {(none)} {(Lit_Other '=')} 
                                                          {
                                                            (DQ ($ VSub_Name '$deplibs_check_method'))
                                                          }
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(echo)} 
                                                      {
                                                        (DQ 
                                                          (
'*** Warning: inter-library dependencies are not supported in this platform.'
                                                          )
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [16777215 48759]
                                                )
                                              ]
                                              else_action: [
                                                (C {(echo)} 
                                                  {
                                                    (DQ 
                                                      (
'*** Warning: inter-library dependencies are not known to be supported.'
                                                      )
                                                    )
                                                  }
                                                )
                                              ]
                                              spids: [48769 48779]
                                            )
                                            (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: [48789]
                                                )
                                              ]
                                              spids: [48789]
                                            )
                                          ]
                                          spids: [48733 48740 48793 16777215]
                                        )
                                      ]
                                      spids: [48726 48730 48796]
                                    )
                                  ]
                                  spids: [48631 48640 48799 16777215]
                                )
                              ]
                              spids: [46730 46734 48802]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:versuffix)
                                  op: Equal
                                  rhs: {($ VSub_Name '$versuffix_save')}
                                  spids: [48805]
                                )
                              ]
                              spids: [48805]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:major)
                                  op: Equal
                                  rhs: {($ VSub_Name '$major_save')}
                                  spids: [48809]
                                )
                              ]
                              spids: [48809]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:release)
                                  op: Equal
                                  rhs: {($ VSub_Name '$release_save')}
                                  spids: [48813]
                                )
                              ]
                              spids: [48813]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libname)
                                  op: Equal
                                  rhs: {($ VSub_Name '$libname_save')}
                                  spids: [48817]
                                )
                              ]
                              spids: [48817]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:name)
                                  op: Equal
                                  rhs: {($ VSub_Name '$name_save')}
                                  spids: [48821]
                                )
                              ]
                              spids: [48821]
                            )
                            (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: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [48856 48871]
                                              )
                                            }
                                          spids: [48855]
                                        )
                                      ]
                                      spids: [48855]
                                    )
                                  ]
                                  spids: [48833 48848 48874 16777215]
                                )
                              ]
                              spids: [48826 48830 48877]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(yes)} {(Lit_Other '=')} 
                                          {(DQ ($ VSub_Name '$droppeddeps'))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(yes)} {(Lit_Other '=')} 
                                                  {(DQ ($ VSub_Name '$module'))}
                                                )
                                              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 'nm' or equivalent, but libtool could"
                                                          )
                                                        )
                                                      }
                                                    )
                                                    (C {(echo)} 
                                                      {
                                                        (DQ 
                                                          (
'*** not find such a program.  So, this module is probably useless.'
                                                          )
                                                        )
                                                      }
                                                    )
                                                    (C {(echo)} 
                                                      {
                                                        (DQ 
                                                          (
"*** 'nm' from GNU binutils and a full rebuild may help."
                                                          )
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [16777215 48957]
                                                )
                                              ]
                                              spids: [16777215 48991]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(no)} {(Lit_Other '=')} 
                                                          {(DQ ($ VSub_Name '$build_old_libs'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:oldlibs)
                                                          op: Equal
                                                          rhs: 
                                                            {($ VSub_Name '$output_objdir') (/) 
                                                              ($ VSub_Name '$libname') (.) ($ VSub_Name '$libext')
                                                            }
                                                          spids: [49010]
                                                        )
                                                      ]
                                                      spids: [49010]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:build_libtool_libs)
                                                          op: Equal
                                                          rhs: {(module)}
                                                          spids: [49018]
                                                        )
                                                      ]
                                                      spids: [49018]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:build_old_libs)
                                                          op: Equal
                                                          rhs: {(yes)}
                                                          spids: [49022]
                                                        )
                                                      ]
                                                      spids: [49022]
                                                    )
                                                  ]
                                                  spids: [16777215 49007]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:build_libtool_libs)
                                                      op: Equal
                                                      rhs: {(no)}
                                                      spids: [49029]
                                                    )
                                                  ]
                                                  spids: [49029]
                                                )
                                              ]
                                              spids: [49026 49033]
                                            )
                                          ]
                                          spids: [16777215 48910]
                                        )
                                      ]
                                      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)} {(no)} {(Lit_Other '=')} 
                                                      {(DQ ($ VSub_Name '$allow_undefined'))}
                                                    )
                                                  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)} {(no)} {(Lit_Other '=')} 
                                                              {(DQ ($ VSub_Name '$build_old_libs'))}
                                                            )
                                                          terminator: <Op_Semi ';'>
                                                        )
                                                      ]
                                                      action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:oldlibs)
                                                              op: Equal
                                                              rhs: 
                                                                {($ VSub_Name '$output_objdir') (/) 
                                                                  ($ VSub_Name '$libname') (.) ($ VSub_Name '$libext')
                                                                }
                                                              spids: [49124]
                                                            )
                                                          ]
                                                          spids: [49124]
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:build_libtool_libs)
                                                              op: Equal
                                                              rhs: {(module)}
                                                              spids: [49132]
                                                            )
                                                          ]
                                                          spids: [49132]
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:build_old_libs)
                                                              op: Equal
                                                              rhs: {(yes)}
                                                              spids: [49136]
                                                            )
                                                          ]
                                                          spids: [49136]
                                                        )
                                                      ]
                                                      spids: [16777215 49121]
                                                    )
                                                  ]
                                                  else_action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:build_libtool_libs)
                                                          op: Equal
                                                          rhs: {(no)}
                                                          spids: [49143]
                                                        )
                                                      ]
                                                      spids: [49143]
                                                    )
                                                  ]
                                                  spids: [49140 49147]
                                                )
                                              ]
                                              spids: [16777215 49074]
                                            )
                                          ]
                                          spids: [16777215 49150]
                                        )
                                      ]
                                      spids: [49036 49153]
                                    )
                                  ]
                                  spids: [16777215 48894]
                                )
                              ]
                              spids: [16777215 49156]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$newdeplibs')}
                                  spids: [49163]
                                )
                              ]
                              spids: [49163]
                            )
                          ]
                          spids: [16777215 46405]
                        )
                      ]
                      spids: [16777215 49167]
                    )
                    (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: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [49190 49205]
                                      )
                                    }
                                  spids: [49189]
                                )
                              ]
                              spids: [49189]
                            )
                            (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: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [49209 49224]
                                      )
                                    }
                                  spids: [49208]
                                )
                              ]
                              spids: [49208]
                            )
                            (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: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [49228 49243]
                                      )
                                    }
                                  spids: [49227]
                                )
                              ]
                              spids: [49227]
                            )
                          ]
                          spids: [49181 49186 49246 16777215]
                        )
                      ]
                      spids: [49174 49178 49249]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:new_libs)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [49261]
                        )
                      ]
                      spids: [49261]
                    )
                    (ForEach
                      iter_name: path
                      iter_words: [{($ VSub_Name '$notinst_path')}]
                      do_arg_iter: F
                      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: [49287 49296 49298 16777215]
                                )
                                (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: [
                                            (C {(func_append)} {(new_libs)} 
                                              {
                                                (DQ (' -L') ($ VSub_Name '$path') (/) 
                                                  ($ VSub_Name '$objdir')
                                                )
                                              }
                                            )
                                          ]
                                          spids: [49316 49325 49339 16777215]
                                        )
                                      ]
                                      spids: [49305 49313 49342]
                                    )
                                  ]
                                  spids: [49301 49302 49345 16777215]
                                )
                              ]
                              spids: [49276 49284 49348]
                            )
                          ]
                          spids: [49273 49351]
                        )
                      spids: [49269 49271]
                    )
                    (ForEach
                      iter_name: deplib
                      iter_words: [{($ VSub_Name '$deplibs')}]
                      do_arg_iter: F
                      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: [49389 49396 49398 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_append)} {(new_libs)} 
                                              {(DQ (' ') ($ VSub_Name '$deplib'))}
                                            )
                                          ]
                                          spids: [49401 49402 49413 16777215]
                                        )
                                      ]
                                      spids: [49378 49386 49416]
                                    )
                                  ]
                                  spids: [49373 49375 49419 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(func_append)} {(new_libs)} {(DQ (' ') ($ VSub_Name '$deplib'))})
                                  ]
                                  spids: [49422 49423 49434 16777215]
                                )
                              ]
                              spids: [49366 49370 49437]
                            )
                          ]
                          spids: [49363 49440]
                        )
                      spids: [49359 49361]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:deplibs)
                          op: Equal
                          rhs: {($ VSub_Name '$new_libs')}
                          spids: [49443]
                        )
                      ]
                      spids: [49443]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:library_names)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [49452]
                        )
                      ]
                      spids: [49452]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:old_library)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [49455]
                        )
                      ]
                      spids: [49455]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dlname)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [49458]
                        )
                      ]
                      spids: [49458]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(yes)} {(Lit_Other '=')} 
                                  {(DQ ($ VSub_Name '$build_libtool_libs'))}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Case
                              to_match: {($ VSub_Name '$archive_cmds')}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar '\\$'>
                                      ) (LD) (EscapedLiteralPart token:<Lit_EscapedChar '\\ '>) (Lit_Other '*')
                                    }
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:wl)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [49504]
                                        )
                                      ]
                                      spids: [49504]
                                    )
                                  ]
                                  spids: [49497 49502 49506 16777215]
                                )
                              ]
                              spids: [49490 49494 49509]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(yes)} {(Lit_Other '=')} 
                                          {(DQ ($ VSub_Name '$hardcode_into_libs'))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:hardcode_libdirs)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [49532]
                                        )
                                      ]
                                      spids: [49532]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dep_rpath)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [49535]
                                        )
                                      ]
                                      spids: [49535]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:rpath)
                                          op: Equal
                                          rhs: {($ VSub_Name '$finalize_rpath')}
                                          spids: [49538]
                                        )
                                      ]
                                      spids: [49538]
                                    )
                                    (AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {(test)} {(relink)} {(Lit_Other '=')} 
                                          {(DQ ($ VSub_Name '$opt_mode'))}
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:rpath)
                                              op: Equal
                                              rhs: 
                                                {($ VSub_Name '$compile_rpath') 
                                                  ($ VSub_Name '$rpath')
                                                }
                                              spids: [49554]
                                            )
                                          ]
                                          spids: [49554]
                                        )
                                      ]
                                    )
                                    (ForEach
                                      iter_name: libdir
                                      iter_words: [{($ VSub_Name '$rpath')}]
                                      do_arg_iter: F
                                      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: [
                                                            (C {(func_replace_sysroot)} 
                                                              {(DQ ($ VSub_Name '$libdir'))}
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:libdir)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      ($ VSub_Name 
'$func_replace_sysroot_result'
                                                                      )
                                                                    }
                                                                  spids: [49606]
                                                                )
                                                              ]
                                                              spids: [49606]
                                                            )
                                                            (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: 
                                                                            {
                                                                              ($ VSub_Name '$libdir')
                                                                            }
                                                                          spids: [49624]
                                                                        )
                                                                      ]
                                                                      spids: [49624]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 49621]
                                                                )
                                                              ]
                                                              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: [
49644
49651
49654
16777215
                                                                      ]
                                                                    )
                                                                    (case_arm
                                                                      pat_list: [{(Lit_Other '*')}]
                                                                      action: [
                                                                        (C {(func_append)} 
                                                                          {(hardcode_libdirs)} {(DQ ($ VSub_Name '$hardcode_libdir_separator') ($ VSub_Name '$libdir'))}
                                                                        )
                                                                      ]
                                                                      spids: [
49657
49658
49671
16777215
                                                                      ]
                                                                    )
                                                                  ]
                                                                  spids: [49635 49641 49674]
                                                                )
                                                              ]
                                                              spids: [49628 49677]
                                                            )
                                                          ]
                                                          spids: [16777215 49596]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (C {(eval)} 
                                                          {(Lit_VarLike 'flag=') 
                                                            (EscapedLiteralPart
                                                              token: <Lit_EscapedChar '\\"'>
                                                            ) ($ VSub_Name '$hardcode_libdir_flag_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                          }
                                                        )
                                                        (C {(func_append)} {(dep_rpath)} 
                                                          {(DQ (' ') ($ VSub_Name '$flag'))}
                                                        )
                                                      ]
                                                      spids: [49680 49701]
                                                    )
                                                  ]
                                                  spids: [16777215 49582]
                                                )
                                                (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: [49728 49735 49737 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (C {(func_append)} {(perm_rpath)} 
                                                              {(DQ (' ') ($ VSub_Name '$libdir'))}
                                                            )
                                                          ]
                                                          spids: [49740 49741 49752 16777215]
                                                        )
                                                      ]
                                                      spids: [49718 49725 49755]
                                                    )
                                                  ]
                                                  spids: [49704 49715]
                                                )
                                              ]
                                              spids: [16777215 49758]
                                            )
                                          ]
                                          spids: [49568 49761]
                                        )
                                      spids: [49564 49566]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {
                                                        (DQ 
                                                          ($ VSub_Name '$hardcode_libdir_separator')
                                                        )
                                                      }
                                                    )
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$hardcode_libdirs'))}
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:libdir)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$hardcode_libdirs')}
                                                  spids: [49793]
                                                )
                                              ]
                                              spids: [49793]
                                            )
                                            (C {(eval)} 
                                              {
                                                (DQ ('dep_rpath=') 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar '\\"'>
                                                  ) ($ VSub_Name '$hardcode_libdir_flag_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                )
                                              }
                                            )
                                          ]
                                          spids: [16777215 49790]
                                        )
                                      ]
                                      spids: [16777215 49807]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$runpath_var'))}
                                                    )
                                                    (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: {(EmptyPart)}
                                                  spids: [49838]
                                                )
                                              ]
                                              spids: [49838]
                                            )
                                            (ForEach
                                              iter_name: dir
                                              iter_words: [{($ VSub_Name '$perm_rpath')}]
                                              do_arg_iter: F
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (C {(func_append)} {(rpath)} 
                                                      {(DQ ($ VSub_Name '$dir') (':'))}
                                                    )
                                                  ]
                                                  spids: [49850 49863]
                                                )
                                              spids: [49846 49848]
                                            )
                                            (C {(eval)} 
                                              {
                                                (DQ ($ VSub_Name '$runpath_var') ("='") 
                                                  ($ VSub_Name '$rpath') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ($ VSub_Name '$runpath_var') ("'; export ") 
                                                  ($ VSub_Name '$runpath_var')
                                                )
                                              }
                                            )
                                          ]
                                          spids: [16777215 49831]
                                        )
                                      ]
                                      spids: [16777215 49879]
                                    )
                                    (AndOr
                                      ops: [Op_DAmp]
                                      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: [49892]
                                            )
                                          ]
                                          spids: [49892]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16777215 49525]
                                )
                              ]
                              spids: [16777215 49900]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:shlibpath)
                                  op: Equal
                                  rhs: {($ VSub_Name '$finalize_shlibpath')}
                                  spids: [49904]
                                )
                              ]
                              spids: [49904]
                            )
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(test)} {(relink)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$opt_mode'))})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:shlibpath)
                                      op: Equal
                                      rhs: 
                                        {($ VSub_Name '$compile_shlibpath') 
                                          ($ VSub_Name '$shlibpath')
                                        }
                                      spids: [49920]
                                    )
                                  ]
                                  spids: [49920]
                                )
                              ]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$shlibpath'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(eval)} 
                                      {
                                        (DQ ($ VSub_Name '$shlibpath_var') ("='") 
                                          ($ VSub_Name '$shlibpath') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ($ VSub_Name '$shlibpath_var') ("'; export ") 
                                          ($ VSub_Name '$shlibpath_var')
                                        )
                                      }
                                    )
                                  ]
                                  spids: [16777215 49936]
                                )
                              ]
                              spids: [16777215 49952]
                            )
                            (C {(eval)} 
                              {(Lit_VarLike 'shared_ext=') 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar '\\"'>
                                ) ($ VSub_Name '$shrext_cmds') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                              }
                            )
                            (C {(eval)} 
                              {(Lit_VarLike '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: {($ VSub_Number '$1')}
                                  spids: [49986]
                                )
                              ]
                              spids: [49986]
                            )
                            (C {(shift)})
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$soname_spec'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(eval)} 
                                      {(Lit_VarLike 'soname=') 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\"'>
                                        ) ($ VSub_Name '$soname_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                      }
                                    )
                                  ]
                                  spids: [16777215 50005]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:soname)
                                      op: Equal
                                      rhs: {($ VSub_Name '$realname')}
                                      spids: [50019]
                                    )
                                  ]
                                  spids: [50019]
                                )
                              ]
                              spids: [50016 50023]
                            )
                            (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: [50040]
                                        )
                                      ]
                                      spids: [50040]
                                    )
                                  ]
                                  spids: [16777215 50037]
                                )
                              ]
                              spids: [16777215 50044]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:lib)
                                  op: Equal
                                  rhs: {($ VSub_Name '$output_objdir') (/) ($ VSub_Name '$realname')}
                                  spids: [50048]
                                )
                              ]
                              spids: [50048]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:linknames)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [50054]
                                )
                              ]
                              spids: [50054]
                            )
                            (ForEach
                              iter_name: link
                              do_arg_iter: T
                              body: 
                                (DoGroup
                                  children: [
                                    (C {(func_append)} {(linknames)} {(DQ (' ') ($ VSub_Name '$link'))})
                                  ]
                                  spids: [50062 50075]
                                )
                              spids: [16777215 16777215]
                            )
                            (AndOr
                              ops: [Op_DAmp]
                              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: F
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [50094 50116]
                                          )
                                        }
                                      spids: [50093]
                                    )
                                  ]
                                  spids: [50093]
                                )
                              ]
                            )
                            (AndOr
                              ops: [Op_DAmp]
                              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: {(EmptyPart)}
                                      spids: [50134]
                                    )
                                  ]
                                  spids: [50134]
                                )
                              ]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:delfiles)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [50138]
                                )
                              ]
                              spids: [50138]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          ops: [Op_DAmp]
                                          children: [
                                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$export_symbols'))})
                                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$include_expsyms'))})
                                          ]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (C {(cp)} {(DQ ($ VSub_Name '$export_symbols'))} 
                                          {
                                            (DQ ($ VSub_Name '$output_objdir') (/) 
                                              ($ VSub_Name '$libname') (.uexp)
                                            )
                                          }
                                        )
                                      ]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:export_symbols)
                                          op: Equal
                                          rhs: 
                                            {($ VSub_Name '$output_objdir') (/) 
                                              ($ VSub_Name '$libname') (.uexp)
                                            }
                                          spids: [50183]
                                        )
                                      ]
                                      spids: [50183]
                                    )
                                    (C {(func_append)} {(delfiles)} 
                                      {(DQ (' ') ($ VSub_Name '$export_symbols'))}
                                    )
                                  ]
                                  spids: [16777215 50162]
                                )
                              ]
                              spids: [16777215 50200]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:orig_export_symbols)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [50204]
                                )
                              ]
                              spids: [50204]
                            )
                            (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
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$export_symbols'))}
                                                    )
                                                    (C {(test)} {(-z)} 
                                                      {(DQ ($ VSub_Name '$export_symbols_regex'))}
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (AndOr
                                              ops: [Op_DPipe]
                                              children: [
                                                (C {(func_dll_def_p)} 
                                                  {(DQ ($ VSub_Name '$export_symbols'))}
                                                )
                                                (BraceGroup
                                                  children: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:orig_export_symbols)
                                                          op: Equal
                                                          rhs: {($ VSub_Name '$export_symbols')}
                                                          spids: [50292]
                                                        )
                                                      ]
                                                      spids: [50292]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:export_symbols)
                                                          op: Equal
                                                          rhs: {(EmptyPart)}
                                                          spids: [50296]
                                                        )
                                                      ]
                                                      spids: [50296]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:always_export_symbols)
                                                          op: Equal
                                                          rhs: {(yes)}
                                                          spids: [50299]
                                                        )
                                                      ]
                                                      spids: [50299]
                                                    )
                                                  ]
                                                  spids: [50265]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [16777215 50250]
                                        )
                                      ]
                                      spids: [16777215 50306]
                                    )
                                  ]
                                  spids: [50214 50226 50309 16777215]
                                )
                              ]
                              spids: [50207 50211 50312]
                            )
                            (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
                                                  ops: [Op_DPipe]
                                                  children: [
                                                    (C {(test)} {(yes)} {(Lit_Other '=')} 
                                                      {(DQ ($ VSub_Name '$always_export_symbols'))}
                                                    )
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$export_symbols_regex'))}
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_verbose)} 
                                              {
                                                (DQ ("generating symbol list for '") 
                                                  ($ VSub_Name '$libname') (".la'")
                                                )
                                              }
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:export_symbols)
                                                  op: Equal
                                                  rhs: 
                                                    {($ VSub_Name '$output_objdir') (/) 
                                                      ($ VSub_Name '$libname') (.exp)
                                                    }
                                                  spids: [50369]
                                                )
                                              ]
                                              spids: [50369]
                                            )
                                            (AndOr
                                              ops: [Op_DPipe]
                                              children: [
                                                (C {($ VSub_Name '$opt_dry_run')})
                                                (C {($ VSub_Name '$RM')} 
                                                  {($ VSub_Name '$export_symbols')}
                                                )
                                              ]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:cmds)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$export_symbols_cmds')}
                                                  spids: [50385]
                                                )
                                              ]
                                              spids: [50385]
                                            )
                                            (Sentence
                                              child: 
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:save_ifs)
                                                      op: Equal
                                                      rhs: {($ VSub_Name '$IFS')}
                                                      spids: [50389]
                                                    )
                                                  ]
                                                  spids: [50389]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:IFS)
                                                  op: Equal
                                                  rhs: {(SQ <'~'>)}
                                                  spids: [50393]
                                                )
                                              ]
                                              spids: [50393]
                                            )
                                            (ForEach
                                              iter_name: cmd1
                                              iter_words: [{($ VSub_Name '$cmds')}]
                                              do_arg_iter: F
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:IFS)
                                                          op: Equal
                                                          rhs: {($ VSub_Name '$save_ifs')}
                                                          spids: [50411]
                                                        )
                                                      ]
                                                      spids: [50411]
                                                    )
                                                    (Case
                                                      to_match: 
                                                        {($ VSub_Name '$nm_file_list_spec') 
                                                          (Lit_TildeLike '~') ($ VSub_Name '$to_tool_file_cmd')
                                                        }
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other '*') 
                                                              (Lit_TildeLike 
'~func_convert_file_noop'
                                                              )
                                                            }
                                                            {(Lit_Other '*') 
                                                              (Lit_TildeLike 
'~func_convert_file_msys_to_w32'
                                                              )
                                                            }
                                                            {(Lit_TildeLike '~') (Lit_Other '*')}
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: 
                                                                    (LhsName
                                                                      name: try_normal_branch
                                                                    )
                                                                  op: Equal
                                                                  rhs: {(yes)}
                                                                  spids: [50447]
                                                                )
                                                              ]
                                                              spids: [50447]
                                                            )
                                                            (C {(eval)} 
                                                              {(Lit_VarLike 'cmd=') 
                                                                (EscapedLiteralPart
                                                                  token: <Lit_EscapedChar '\\"'>
                                                                ) ($ VSub_Name '$cmd1') (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: [50467]
                                                                )
                                                              ]
                                                              spids: [50467]
                                                            )
                                                          ]
                                                          spids: [50432 50444 50471 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: 
                                                                    (LhsName
                                                                      name: try_normal_branch
                                                                    )
                                                                  op: Equal
                                                                  rhs: {(no)}
                                                                  spids: [50478]
                                                                )
                                                              ]
                                                              spids: [50478]
                                                            )
                                                          ]
                                                          spids: [50474 50475 50482 16777215]
                                                        )
                                                      ]
                                                      spids: [50423 50429 50485]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (AndOr
                                                              ops: [Op_DAmp]
                                                              children: [
                                                                (C {(test)} {(yes)} {(Lit_Other '=')} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name 
'$try_normal_branch'
                                                                      )
                                                                    )
                                                                  }
                                                                )
                                                                (BraceGroup
                                                                  children: [
                                                                    (Sentence
                                                                      child: 
                                                                        (AndOr
                                                                          ops: [Op_DPipe]
                                                                          children: [
                                                                            (C {(test)} 
                                                                              {
                                                                                (DQ 
                                                                                  ($ VSub_Name '$len')
                                                                                )
                                                                              } {(-lt)} {(DQ ($ VSub_Name '$max_cmd_len'))}
                                                                            )
                                                                            (C {(test)} 
                                                                              {
                                                                                (DQ 
                                                                                  ($ VSub_Name 
'$max_cmd_len'
                                                                                  )
                                                                                )
                                                                              } {(-le)} {(-1)}
                                                                            )
                                                                          ]
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  spids: [50504]
                                                                )
                                                              ]
                                                            )
                                                          ]
                                                          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: [50550]
                                                                )
                                                              ]
                                                              spids: [50550]
                                                            )
                                                          ]
                                                          spids: [16777215 50536]
                                                        )
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} {(-n)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name 
'$nm_file_list_spec'
                                                                      )
                                                                    )
                                                                  }
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (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: [50575]
                                                                )
                                                              ]
                                                              spids: [50575]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:save_libobjs)
                                                                  op: Equal
                                                                  rhs: {($ VSub_Name '$libobjs')}
                                                                  spids: [50579]
                                                                )
                                                              ]
                                                              spids: [50579]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:save_output)
                                                                  op: Equal
                                                                  rhs: {($ VSub_Name '$output')}
                                                                  spids: [50583]
                                                                )
                                                              ]
                                                              spids: [50583]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:output)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {($ VSub_Name '$output_objdir') 
                                                                      (/) ($ VSub_Name '$output_la') (.nm)
                                                                    }
                                                                  spids: [50587]
                                                                )
                                                              ]
                                                              spids: [50587]
                                                            )
                                                            (C {(func_to_tool_file)} 
                                                              {(DQ ($ VSub_Name '$output'))}
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:libobjs)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      ($ VSub_Name 
'$nm_file_list_spec'
                                                                      ) ($ VSub_Name '$func_to_tool_file_result')
                                                                    }
                                                                  spids: [50601]
                                                                )
                                                              ]
                                                              spids: [50601]
                                                            )
                                                            (C {(func_append)} {(delfiles)} 
                                                              {(DQ (' ') ($ VSub_Name '$output'))}
                                                            )
                                                            (C {(func_verbose)} 
                                                              {
                                                                (DQ ('creating ') ($ VSub_Name '$NM') 
                                                                  (' input file list: ') ($ VSub_Name '$output')
                                                                )
                                                              }
                                                            )
                                                            (ForEach
                                                              iter_name: obj
                                                              iter_words: [
                                                                {($ VSub_Name '$save_libobjs')}
                                                              ]
                                                              do_arg_iter: F
                                                              body: 
                                                                (DoGroup
                                                                  children: [
                                                                    (C {(func_to_tool_file)} 
                                                                      {(DQ ($ VSub_Name '$obj'))}
                                                                    )
                                                                    (C {($ VSub_Name '$ECHO')} 
                                                                      {
                                                                        (DQ 
                                                                          ($ VSub_Name 
'$func_to_tool_file_result'
                                                                          )
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [50635 50652]
                                                                )
                                                              redirects: [
                                                                (Redir
                                                                  op: <Redir_Great '>'>
                                                                  fd: 16777215
                                                                  arg_word: 
                                                                    {(DQ ($ VSub_Name '$output'))}
                                                                )
                                                              ]
                                                              spids: [50631 50633]
                                                            )
                                                            (C {(eval)} 
                                                              {(Lit_VarLike 'cmd=') 
                                                                (EscapedLiteralPart
                                                                  token: <Lit_EscapedChar '\\"'>
                                                                ) ($ VSub_Name '$cmd1') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                              }
                                                            )
                                                            (C {(func_show_eval)} 
                                                              {(DQ ($ VSub_Name '$cmd'))} {(SQ <'exit $?'>)}
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:output)
                                                                  op: Equal
                                                                  rhs: {($ VSub_Name '$save_output')}
                                                                  spids: [50680]
                                                                )
                                                              ]
                                                              spids: [50680]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:libobjs)
                                                                  op: Equal
                                                                  rhs: {($ VSub_Name '$save_libobjs')}
                                                                  spids: [50684]
                                                                )
                                                              ]
                                                              spids: [50684]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:skipped_export)
                                                                  op: Equal
                                                                  rhs: {(false)}
                                                                  spids: [50688]
                                                                )
                                                              ]
                                                              spids: [50688]
                                                            )
                                                          ]
                                                          spids: [50554 50565]
                                                        )
                                                      ]
                                                      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: [50706]
                                                            )
                                                          ]
                                                          spids: [50706]
                                                        )
                                                        (ControlFlow
                                                          token: <ControlFlow_Break break>
                                                        )
                                                      ]
                                                      spids: [50692 50721]
                                                    )
                                                  ]
                                                  spids: [50408 50724]
                                                )
                                              spids: [50404 50406]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:IFS)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$save_ifs')}
                                                  spids: [50727]
                                                )
                                              ]
                                              spids: [50727]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (AndOr
                                                          ops: [Op_DAmp]
                                                          children: [
                                                            (C {(test)} {(-n)} 
                                                              {
                                                                (DQ 
                                                                  ($ VSub_Name 
'$export_symbols_regex'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(test)} {(Lit_Other ':')} 
                                                              {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$skipped_export'))}
                                                            )
                                                          ]
                                                        )
                                                      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: [16777215 50755]
                                                )
                                              ]
                                              spids: [16777215 50772]
                                            )
                                          ]
                                          spids: [16777215 50357]
                                        )
                                      ]
                                      spids: [16777215 50775]
                                    )
                                  ]
                                  spids: [16777215 50331]
                                )
                              ]
                              spids: [16777215 50778]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          ops: [Op_DAmp]
                                          children: [
                                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$export_symbols'))})
                                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$include_expsyms'))})
                                          ]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_export_symbols)
                                          op: Equal
                                          rhs: {($ VSub_Name '$export_symbols')}
                                          spids: [50806]
                                        )
                                      ]
                                      spids: [50806]
                                    )
                                    (AndOr
                                      ops: [Op_DAmp]
                                      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: {($ VSub_Name '$orig_export_symbols')}
                                              spids: [50820]
                                            )
                                          ]
                                          spids: [50820]
                                        )
                                      ]
                                    )
                                    (AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (C {(eval)} 
                                          {
                                            (SQ 
                                              <
'$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
                                              >
                                            )
                                          }
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16777215 50803]
                                )
                              ]
                              spids: [16777215 50835]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          ops: [Op_DAmp]
                                          children: [
                                            (C {(test)} {(Lit_Other ':')} 
                                              {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$skipped_export'))}
                                            )
                                            (C {(test)} {(-n)} 
                                              {(DQ ($ VSub_Name '$orig_export_symbols'))}
                                            )
                                          ]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_verbose)} 
                                      {
                                        (DQ ("filter symbol list for '") ($ VSub_Name '$libname') 
                                          (".la' to tag DATA exports")
                                        )
                                      }
                                    )
                                    (AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (SimpleCommand
                                          words: [
                                            {($ VSub_Name '$SED')}
                                            {(-e)}
                                            {
                                              (SQ 
                                                <
'/[ ,]DATA/!d;s,\\(.*\\)\\([ \\,].*\\),s|^\\1$|\\1\\2|,'
                                                >
                                              )
                                            }
                                          ]
                                          redirects: [
                                            (Redir
                                              op: <Redir_Less '<'>
                                              fd: 16777215
                                              arg_word: {($ VSub_Name '$export_symbols')}
                                            )
                                            (Redir
                                              op: <Redir_Great '>'>
                                              fd: 16777215
                                              arg_word: 
                                                {($ VSub_Name '$output_objdir') (/) 
                                                  ($ VSub_Name '$libname') (.filter)
                                                }
                                            )
                                          ]
                                        )
                                      ]
                                    )
                                    (C {(func_append)} {(delfiles)} 
                                      {
                                        (DQ (' ') ($ VSub_Name '$export_symbols') (' ') 
                                          ($ VSub_Name '$output_objdir') (/) ($ VSub_Name '$libname') (.filter)
                                        )
                                      }
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:export_symbols)
                                          op: Equal
                                          rhs: 
                                            {($ VSub_Name '$output_objdir') (/) 
                                              ($ VSub_Name '$libname') (.def)
                                            }
                                          spids: [50938]
                                        )
                                      ]
                                      spids: [50938]
                                    )
                                    (AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (SimpleCommand
                                          words: [
                                            {($ VSub_Name '$SED')}
                                            {(-f)}
                                            {($ VSub_Name '$output_objdir') (/) 
                                              ($ VSub_Name '$libname') (.filter)
                                            }
                                          ]
                                          redirects: [
                                            (Redir
                                              op: <Redir_Less '<'>
                                              fd: 16777215
                                              arg_word: {($ VSub_Name '$orig_export_symbols')}
                                            )
                                            (Redir
                                              op: <Redir_Great '>'>
                                              fd: 16777215
                                              arg_word: {($ VSub_Name '$export_symbols')}
                                            )
                                          ]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16777215 50863]
                                )
                              ]
                              spids: [16777215 50967]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:tmp_deplibs)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [50971]
                                )
                              ]
                              spids: [50971]
                            )
                            (ForEach
                              iter_name: test_deplib
                              iter_words: [{($ VSub_Name '$deplibs')}]
                              do_arg_iter: F
                              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: [50997 51004 51006 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_append)} {(tmp_deplibs)} 
                                              {(DQ (' ') ($ VSub_Name '$test_deplib'))}
                                            )
                                          ]
                                          spids: [51009 51010 51023 16777215]
                                        )
                                      ]
                                      spids: [50986 50994 51026]
                                    )
                                  ]
                                  spids: [50983 51029]
                                )
                              spids: [50979 50981]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$tmp_deplibs')}
                                  spids: [51032]
                                )
                              ]
                              spids: [51032]
                            )
                            (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
                                                  ops: [Op_DAmp Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$whole_archive_flag_spec'))}
                                                    )
                                                    (C {(test)} {(yes)} {(Lit_Other '=')} 
                                                      {(DQ ($ VSub_Name '$compiler_needs_object'))}
                                                    )
                                                    (C {(test)} {(-z)} {(DQ ($ VSub_Name '$libobjs'))})
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:whole_archive_flag_spec)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [51097]
                                                )
                                              ]
                                              spids: [51097]
                                            )
                                          ]
                                          spids: [16777215 51086]
                                        )
                                      ]
                                      spids: [16777215 51100]
                                    )
                                    (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: [51117]
                                                )
                                              ]
                                              spids: [51117]
                                            )
                                            (C {(eval)} 
                                              {(Lit_VarLike 'libobjs=') 
                                                (EscapedLiteralPart
                                                  token: <Lit_EscapedChar '\\"'>
                                                ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (libobjs)
                                              } {($ VSub_Name '$whole_archive_flag_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)}
                                            )
                                            (AndOr
                                              ops: [Op_DAmp]
                                              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: {(EmptyPart)}
                                                      spids: [51147]
                                                    )
                                                  ]
                                                  spids: [51147]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [16777215 51114]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:gentop)
                                              op: Equal
                                              rhs: 
                                                {($ VSub_Name '$output_objdir') (/) 
                                                  (${ VSub_Name outputname) (x)
                                                }
                                              spids: [51153]
                                            )
                                          ]
                                          spids: [51153]
                                        )
                                        (C {(func_append)} {(generated)} 
                                          {(DQ (' ') ($ VSub_Name '$gentop'))}
                                        )
                                        (C {(func_extract_archives)} {($ VSub_Name '$gentop')} 
                                          {($ VSub_Name '$convenience')}
                                        )
                                        (C {(func_append)} {(libobjs)} 
                                          {(DQ (' ') ($ VSub_Name '$func_extract_archives_result'))}
                                        )
                                        (AndOr
                                          ops: [Op_DAmp]
                                          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: {(EmptyPart)}
                                                  spids: [51205]
                                                )
                                              ]
                                              spids: [51205]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [51150 51208]
                                    )
                                  ]
                                  spids: [16777215 51048]
                                )
                              ]
                              spids: [16777215 51211]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          ops: [Op_DAmp]
                                          children: [
                                            (C {(test)} {(yes)} {(Lit_Other '=')} 
                                              {(DQ ($ VSub_Name '$thread_safe'))}
                                            )
                                            (C {(test)} {(-n)} 
                                              {(DQ ($ VSub_Name '$thread_safe_flag_spec'))}
                                            )
                                          ]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(eval)} 
                                      {(Lit_VarLike 'flag=') 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\"'>
                                        ) ($ VSub_Name '$thread_safe_flag_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                      }
                                    )
                                    (C {(func_append)} {(linker_flags)} 
                                      {(DQ (' ') ($ VSub_Name '$flag'))}
                                    )
                                  ]
                                  spids: [16777215 51238]
                                )
                              ]
                              spids: [16777215 51259]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(relink)} {(Lit_Other '=')} 
                                          {(DQ ($ VSub_Name '$opt_mode'))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (AndOr
                                      ops: [Op_DPipe Op_DPipe]
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (C {(eval)} 
                                          {
                                            (SQ 
                                              <
'(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)'
                                              >
                                            )
                                          }
                                        )
                                        (ControlFlow
                                          token: <ControlFlow_Exit exit>
                                          arg_word: {($ VSub_QMark '$?')}
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16777215 51280]
                                )
                              ]
                              spids: [16777215 51300]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          ops: [Op_DAmp]
                                          children: [
                                            (C {(test)} {(yes)} {(Lit_Other '=')} 
                                              {(DQ ($ VSub_Name '$module'))}
                                            )
                                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$module_cmds'))})
                                          ]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$export_symbols'))}
                                                    )
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$module_expsym_cmds'))}
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(eval)} 
                                              {(Lit_VarLike '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: [51366]
                                                )
                                              ]
                                              spids: [51366]
                                            )
                                          ]
                                          spids: [16777215 51355]
                                        )
                                      ]
                                      else_action: [
                                        (C {(eval)} 
                                          {(Lit_VarLike '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: [51381]
                                            )
                                          ]
                                          spids: [51381]
                                        )
                                      ]
                                      spids: [51370 51385]
                                    )
                                  ]
                                  spids: [16777215 51331]
                                )
                              ]
                              else_action: [
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (AndOr
                                              ops: [Op_DAmp]
                                              children: [
                                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$export_symbols'))})
                                                (C {(test)} {(-n)} 
                                                  {(DQ ($ VSub_Name '$archive_expsym_cmds'))}
                                                )
                                              ]
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C {(eval)} 
                                          {(Lit_VarLike '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: [51423]
                                            )
                                          ]
                                          spids: [51423]
                                        )
                                      ]
                                      spids: [16777215 51412]
                                    )
                                  ]
                                  else_action: [
                                    (C {(eval)} 
                                      {(Lit_VarLike '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: [51438]
                                        )
                                      ]
                                      spids: [51438]
                                    )
                                  ]
                                  spids: [51427 51442]
                                )
                              ]
                              spids: [51388 51445]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          ops: [Op_DAmp Op_DAmp Op_DAmp Op_DPipe]
                                          children: [
                                            (C {(test)} {(Lit_Other ':')} 
                                              {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$skipped_export'))}
                                            )
                                            (C {(func_len)} {(DQ (' ') ($ VSub_Name '$test_cmds'))})
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:len)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$func_len_result')}
                                                  spids: [51475]
                                                )
                                              ]
                                              spids: [51475]
                                            )
                                            (C {(test)} {(DQ ($ VSub_Name '$len'))} {(-lt)} 
                                              {(DQ ($ VSub_Name '$max_cmd_len'))}
                                            )
                                            (C {(test)} {(DQ ($ VSub_Name '$max_cmd_len'))} {(-le)} 
                                              {(-1)}
                                            )
                                          ]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [(C {(Lit_Other ':')})]
                                  spids: [16777215 51506]
                                )
                              ]
                              else_action: [
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (AndOr
                                              ops: [Op_DPipe]
                                              children: [
                                                (C {(test)} {(-z)} {(DQ ($ VSub_Name '$convenience'))})
                                                (C {(test)} {(-z)} 
                                                  {(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: [51584]
                                            )
                                          ]
                                          spids: [51584]
                                        )
                                      ]
                                      spids: [16777215 51581]
                                    )
                                  ]
                                  spids: [16777215 51588]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:save_output)
                                      op: Equal
                                      rhs: {($ VSub_Name '$output')}
                                      spids: [51591]
                                    )
                                  ]
                                  spids: [51591]
                                )
                                (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: [51602]
                                    )
                                  ]
                                  spids: [51602]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:test_cmds)
                                      op: Equal
                                      rhs: {(EmptyPart)}
                                      spids: [51615]
                                    )
                                  ]
                                  spids: [51615]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:concat_cmds)
                                      op: Equal
                                      rhs: {(EmptyPart)}
                                      spids: [51618]
                                    )
                                  ]
                                  spids: [51618]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:objlist)
                                      op: Equal
                                      rhs: {(EmptyPart)}
                                      spids: [51621]
                                    )
                                  ]
                                  spids: [51621]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:last_robj)
                                      op: Equal
                                      rhs: {(EmptyPart)}
                                      spids: [51624]
                                    )
                                  ]
                                  spids: [51624]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:k)
                                      op: Equal
                                      rhs: {(1)}
                                      spids: [51627]
                                    )
                                  ]
                                  spids: [51627]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (AndOr
                                              ops: [Op_DAmp Op_DAmp]
                                              children: [
                                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$save_libobjs'))})
                                                (C {(test)} {(Lit_Other ':')} 
                                                  {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$skipped_export'))}
                                                )
                                                (C {(test)} {(yes)} {(Lit_Other '=')} 
                                                  {(DQ ($ VSub_Name '$with_gnu_ld'))}
                                                )
                                              ]
                                            )
                                          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: [51671]
                                            )
                                          ]
                                          spids: [51671]
                                        )
                                        (C {(func_verbose)} 
                                          {(DQ ('creating GNU ld script: ') ($ VSub_Name '$output'))}
                                        )
                                        (SimpleCommand
                                          words: [{(echo)} {(SQ <'INPUT ('>)}]
                                          redirects: [
                                            (Redir
                                              op: <Redir_Great '>'>
                                              fd: 16777215
                                              arg_word: {($ VSub_Name '$output')}
                                            )
                                          ]
                                        )
                                        (ForEach
                                          iter_name: obj
                                          iter_words: [{($ VSub_Name '$save_libobjs')}]
                                          do_arg_iter: F
                                          body: 
                                            (DoGroup
                                              children: [
                                                (C {(func_to_tool_file)} {(DQ ($ VSub_Name '$obj'))})
                                                (SimpleCommand
                                                  words: [
                                                    {($ VSub_Name '$ECHO')}
                                                    {(DQ ($ VSub_Name '$func_to_tool_file_result'))}
                                                  ]
                                                  redirects: [
                                                    (Redir
                                                      op: <Redir_DGreat '>>'>
                                                      fd: 16777215
                                                      arg_word: {($ VSub_Name '$output')}
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [51706 51727]
                                            )
                                          spids: [51702 16777215]
                                        )
                                        (SimpleCommand
                                          words: [{(echo)} {(SQ <')'>)}]
                                          redirects: [
                                            (Redir
                                              op: <Redir_DGreat '>>'>
                                              fd: 16777215
                                              arg_word: {($ VSub_Name '$output')}
                                            )
                                          ]
                                        )
                                        (C {(func_append)} {(delfiles)} 
                                          {(DQ (' ') ($ VSub_Name '$output'))}
                                        )
                                        (C {(func_to_tool_file)} {(DQ ($ VSub_Name '$output'))})
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:output)
                                              op: Equal
                                              rhs: {($ VSub_Name '$func_to_tool_file_result')}
                                              spids: [51758]
                                            )
                                          ]
                                          spids: [51758]
                                        )
                                      ]
                                      spids: [16777215 51668]
                                    )
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (AndOr
                                              ops: [Op_DAmp Op_DAmp]
                                              children: [
                                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$save_libobjs'))})
                                                (C {(test)} {(Lit_Other ':')} 
                                                  {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$skipped_export'))}
                                                )
                                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$file_list_spec'))})
                                              ]
                                            )
                                          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: [51799]
                                            )
                                          ]
                                          spids: [51799]
                                        )
                                        (C {(func_verbose)} 
                                          {
                                            (DQ ('creating linker input file list: ') 
                                              ($ VSub_Name '$output')
                                            )
                                          }
                                        )
                                        (SimpleCommand
                                          words: [{(Lit_Other ':')}]
                                          redirects: [
                                            (Redir
                                              op: <Redir_Great '>'>
                                              fd: 16777215
                                              arg_word: {($ VSub_Name '$output')}
                                            )
                                          ]
                                        )
                                        (C {(set)} {(x)} {($ VSub_Name '$save_libobjs')})
                                        (C {(shift)})
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:firstobj)
                                              op: Equal
                                              rhs: {(EmptyPart)}
                                              spids: [51831]
                                            )
                                          ]
                                          spids: [51831]
                                        )
                                        (If
                                          arms: [
                                            (if_arm
                                              cond: [
                                                (Sentence
                                                  child: 
                                                    (C {(test)} {(yes)} {(Lit_Other '=')} 
                                                      {(DQ ($ VSub_Name '$compiler_needs_object'))}
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:firstobj)
                                                      op: Equal
                                                      rhs: {(DQ ($ VSub_Number '$1') (' '))}
                                                      spids: [51850]
                                                    )
                                                  ]
                                                  spids: [51850]
                                                )
                                                (C {(shift)})
                                              ]
                                              spids: [16777215 51847]
                                            )
                                          ]
                                          spids: [16777215 51860]
                                        )
                                        (ForEach
                                          iter_name: obj
                                          do_arg_iter: T
                                          body: 
                                            (DoGroup
                                              children: [
                                                (C {(func_to_tool_file)} {(DQ ($ VSub_Name '$obj'))})
                                                (SimpleCommand
                                                  words: [
                                                    {($ VSub_Name '$ECHO')}
                                                    {(DQ ($ VSub_Name '$func_to_tool_file_result'))}
                                                  ]
                                                  redirects: [
                                                    (Redir
                                                      op: <Redir_DGreat '>>'>
                                                      fd: 16777215
                                                      arg_word: {($ VSub_Name '$output')}
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [51868 51889]
                                            )
                                          spids: [16777215 16777215]
                                        )
                                        (C {(func_append)} {(delfiles)} 
                                          {(DQ (' ') ($ VSub_Name '$output'))}
                                        )
                                        (C {(func_to_tool_file)} {(DQ ($ VSub_Name '$output'))})
                                        (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 '$func_to_tool_file_result') 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar '\\"'>
                                                  )
                                                }
                                              spids: [51909]
                                            )
                                          ]
                                          spids: [51909]
                                        )
                                      ]
                                      spids: [51762 51796]
                                    )
                                  ]
                                  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: [51941]
                                                )
                                              ]
                                              spids: [51941]
                                            )
                                            (C {(eval)} 
                                              {(Lit_VarLike '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: [51967]
                                                )
                                              ]
                                              spids: [51967]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:len)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$len0')}
                                                  spids: [51971]
                                                )
                                              ]
                                              spids: [51971]
                                            )
                                            (ForEach
                                              iter_name: obj
                                              iter_words: [{($ VSub_Name '$save_libobjs')}]
                                              do_arg_iter: F
                                              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: [52009]
                                                        )
                                                      ]
                                                      spids: [52009]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (AndOr
                                                                  ops: [Op_DPipe]
                                                                  children: [
                                                                    (C {(test)} {(-z)} 
                                                                      {(DQ ($ VSub_Name '$objlist'))}
                                                                    )
                                                                    (C {(test)} 
                                                                      {(DQ ($ VSub_Name '$len'))} {(-lt)} {(DQ ($ VSub_Name '$max_cmd_len'))}
                                                                    )
                                                                  ]
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (C {(func_append)} {(objlist)} 
                                                              {(DQ (' ') ($ VSub_Name '$obj'))}
                                                            )
                                                          ]
                                                          spids: [16777215 52039]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (If
                                                          arms: [
                                                            (if_arm
                                                              cond: [
                                                                (Sentence
                                                                  child: 
                                                                    (C {(test)} {(1)} {(-eq)} 
                                                                      {(DQ ($ VSub_Name '$k'))}
                                                                    )
                                                                  terminator: <Op_Semi ';'>
                                                                )
                                                              ]
                                                              action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:reload_objs)
                                                                      op: Equal
                                                                      rhs: {($ VSub_Name '$objlist')}
                                                                      spids: [52083]
                                                                    )
                                                                  ]
                                                                  spids: [52083]
                                                                )
                                                                (C {(eval)} 
                                                                  {(Lit_VarLike 'concat_cmds=') 
                                                                    (EscapedLiteralPart
                                                                      token: <Lit_EscapedChar '\\"'>
                                                                    ) ($ VSub_Name '$reload_cmds') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                                  }
                                                                )
                                                              ]
                                                              spids: [16777215 52076]
                                                            )
                                                          ]
                                                          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: [52106]
                                                                )
                                                              ]
                                                              spids: [52106]
                                                            )
                                                            (C {(eval)} 
                                                              {(Lit_VarLike 'concat_cmds=') 
                                                                (EscapedLiteralPart
                                                                  token: <Lit_EscapedChar '\\"'>
                                                                ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (concat_cmds) (Lit_TildeLike '~') 
                                                                ($ VSub_Name '$reload_cmds') (Lit_TildeLike '~') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (RM)
                                                              } {($ VSub_Name '$last_robj') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)}
                                                            )
                                                          ]
                                                          spids: [52095 52130]
                                                        )
                                                        (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: [52133]
                                                            )
                                                          ]
                                                          spids: [52133]
                                                        )
                                                        (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: [52152]
                                                            )
                                                          ]
                                                          spids: [52152]
                                                        )
                                                        (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: [52156]
                                                            )
                                                          ]
                                                          spids: [52156]
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:objlist)
                                                              op: Equal
                                                              rhs: {(DQ (' ') ($ VSub_Name '$obj'))}
                                                              spids: [52166]
                                                            )
                                                          ]
                                                          spids: [52166]
                                                        )
                                                        (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: [52190]
                                                            )
                                                          ]
                                                          spids: [52190]
                                                        )
                                                      ]
                                                      spids: [52052 52194]
                                                    )
                                                  ]
                                                  spids: [51989 52197]
                                                )
                                              spids: [51985 16777215]
                                            )
                                            (AndOr
                                              ops: [Op_DPipe]
                                              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_TildeLike '~')
                                                        }
                                                      spids: [52222]
                                                    )
                                                  ]
                                                  spids: [52222]
                                                )
                                              ]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:reload_objs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$objlist') (' ') 
                                                        ($ VSub_Name '$last_robj')
                                                      )
                                                    }
                                                  spids: [52227]
                                                )
                                              ]
                                              spids: [52227]
                                            )
                                            (C {(eval)} 
                                              {(Lit_VarLike '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)} 
                                                      {(Lit_VarLike 'concat_cmds=') 
                                                        (EscapedLiteralPart
                                                          token: <Lit_EscapedChar '\\"'>
                                                        ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (concat_cmds) (Lit_TildeLike '~') 
                                                        (EscapedLiteralPart
                                                          token: <Lit_EscapedChar '\\$'>
                                                        ) (RM)
                                                      } {($ VSub_Name '$last_robj') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)}
                                                    )
                                                  ]
                                                  spids: [16777215 52256]
                                                )
                                              ]
                                              spids: [16777215 52273]
                                            )
                                            (C {(func_append)} {(delfiles)} 
                                              {(DQ (' ') ($ VSub_Name '$output'))}
                                            )
                                          ]
                                          spids: [16777215 51931]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:output)
                                              op: Equal
                                              rhs: {(EmptyPart)}
                                              spids: [52290]
                                            )
                                          ]
                                          spids: [52290]
                                        )
                                      ]
                                      spids: [52287 52293]
                                    )
                                    (AndOr
                                      ops: [Op_DAmp]
                                      children: [
                                        (C 
                                          {
                                            (BracedVarSub
                                              token: <VSub_Name skipped_export>
                                              suffix_op: 
                                                (StringUnary
                                                  op_id: VTest_Hyphen
                                                  arg_word: {(false)}
                                                )
                                              spids: [52297 52301]
                                            )
                                          }
                                        )
                                        (BraceGroup
                                          children: [
                                            (C {(func_verbose)} 
                                              {
                                                (DQ ("generating symbol list for '") 
                                                  ($ VSub_Name '$libname') (".la'")
                                                )
                                              }
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:export_symbols)
                                                  op: Equal
                                                  rhs: 
                                                    {($ VSub_Name '$output_objdir') (/) 
                                                      ($ VSub_Name '$libname') (.exp)
                                                    }
                                                  spids: [52317]
                                                )
                                              ]
                                              spids: [52317]
                                            )
                                            (AndOr
                                              ops: [Op_DPipe]
                                              children: [
                                                (C {($ VSub_Name '$opt_dry_run')})
                                                (C {($ VSub_Name '$RM')} 
                                                  {($ VSub_Name '$export_symbols')}
                                                )
                                              ]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:libobjs)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$output')}
                                                  spids: [52333]
                                                )
                                              ]
                                              spids: [52333]
                                            )
                                            (AndOr
                                              ops: [Op_DPipe]
                                              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_TildeLike '~')
                                                        }
                                                      spids: [52351]
                                                    )
                                                  ]
                                                  spids: [52351]
                                                )
                                              ]
                                            )
                                            (C {(eval)} 
                                              {(Lit_VarLike '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)} 
                                                      {(Lit_VarLike 'concat_cmds=') 
                                                        (EscapedLiteralPart
                                                          token: <Lit_EscapedChar '\\"'>
                                                        ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (concat_cmds) (Lit_TildeLike '~') 
                                                        (EscapedLiteralPart
                                                          token: <Lit_EscapedChar '\\$'>
                                                        ) (RM)
                                                      } {($ VSub_Name '$last_robj') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)}
                                                    )
                                                  ]
                                                  spids: [16777215 52377]
                                                )
                                              ]
                                              spids: [16777215 52394]
                                            )
                                          ]
                                          spids: [52305]
                                        )
                                      ]
                                    )
                                    (AndOr
                                      ops: [Op_DAmp]
                                      children: [
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$save_libobjs'))})
                                        (C {(func_verbose)} 
                                          {
                                            (DQ ('creating a temporary reloadable object file: ') 
                                              ($ VSub_Name '$output')
                                            )
                                          }
                                        )
                                      ]
                                    )
                                    (Sentence
                                      child: 
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:save_ifs)
                                              op: Equal
                                              rhs: {($ VSub_Name '$IFS')}
                                              spids: [52425]
                                            )
                                          ]
                                          spids: [52425]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {(SQ <'~'>)}
                                          spids: [52429]
                                        )
                                      ]
                                      spids: [52429]
                                    )
                                    (ForEach
                                      iter_name: cmd
                                      iter_words: [{($ VSub_Name '$concat_cmds')}]
                                      do_arg_iter: F
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:IFS)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$save_ifs')}
                                                  spids: [52447]
                                                )
                                              ]
                                              spids: [52447]
                                            )
                                            (AndOr
                                              ops: [Op_DPipe]
                                              children: [
                                                (C {($ VSub_Name '$opt_quiet')})
                                                (BraceGroup
                                                  children: [
                                                    (C {(func_quote_for_expand)} 
                                                      {(DQ ($ VSub_Name '$cmd'))}
                                                    )
                                                    (C {(eval)} 
                                                      {
                                                        (DQ ('func_echo ') 
                                                          ($ VSub_Name 
'$func_quote_for_expand_result'
                                                          )
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [52455]
                                                )
                                              ]
                                            )
                                            (AndOr
                                              ops: [Op_DPipe Op_DPipe]
                                              children: [
                                                (C {($ VSub_Name '$opt_dry_run')})
                                                (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: [52491]
                                                        )
                                                      ]
                                                      spids: [52491]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} {(relink)} {(Lit_Other '=')} 
                                                                  {(DQ ($ VSub_Name '$opt_mode'))}
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (Subshell
                                                              child: 
                                                                (AndOr
                                                                  ops: [Op_DAmp Op_DAmp]
                                                                  children: [
                                                                    (C {(cd)} 
                                                                      {
                                                                        (DQ 
                                                                          ($ VSub_Name 
'$output_objdir'
                                                                          )
                                                                        )
                                                                      }
                                                                    )
                                                                    (C {($ VSub_Name '$RM')} 
                                                                      {
                                                                        (DQ (${ VSub_Name realname) 
                                                                          (T)
                                                                        )
                                                                      }
                                                                    )
                                                                    (C {($ VSub_Name '$MV')} 
                                                                      {
                                                                        (DQ (${ VSub_Name realname) 
                                                                          (U)
                                                                        )
                                                                      } {(DQ ($ VSub_Name '$realname'))}
                                                                    )
                                                                  ]
                                                                )
                                                              spids: [52516 52554]
                                                            )
                                                          ]
                                                          spids: [16777215 52513]
                                                        )
                                                      ]
                                                      spids: [16777215 52557]
                                                    )
                                                    (ControlFlow
                                                      token: <ControlFlow_Exit exit>
                                                      arg_word: {($ VSub_Name '$lt_exit')}
                                                    )
                                                  ]
                                                  spids: [52488]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [52444 52569]
                                        )
                                      spids: [52440 52442]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {($ VSub_Name '$save_ifs')}
                                          spids: [52572]
                                        )
                                      ]
                                      spids: [52572]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  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: [52589 52593]
                                                        )
                                                      }
                                                    )
                                                  ]
                                                )
                                              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: [16777215 52596]
                                        )
                                      ]
                                      spids: [16777215 52613]
                                    )
                                  ]
                                  spids: [51917 52616]
                                )
                                (AndOr
                                  ops: [Op_DAmp]
                                  children: [
                                    (C 
                                      {
                                        (BracedVarSub
                                          token: <VSub_Name skipped_export>
                                          suffix_op: 
                                            (StringUnary
                                              op_id: VTest_Hyphen
                                              arg_word: {(false)}
                                            )
                                          spids: [52620 52624]
                                        )
                                      }
                                    )
                                    (BraceGroup
                                      children: [
                                        (If
                                          arms: [
                                            (if_arm
                                              cond: [
                                                (Sentence
                                                  child: 
                                                    (AndOr
                                                      ops: [Op_DAmp]
                                                      children: [
                                                        (C {(test)} {(-n)} 
                                                          {(DQ ($ VSub_Name '$export_symbols'))}
                                                        )
                                                        (C {(test)} {(-n)} 
                                                          {(DQ ($ VSub_Name '$include_expsyms'))}
                                                        )
                                                      ]
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:tmp_export_symbols)
                                                      op: Equal
                                                      rhs: {($ VSub_Name '$export_symbols')}
                                                      spids: [52655]
                                                    )
                                                  ]
                                                  spids: [52655]
                                                )
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  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: {($ VSub_Name '$orig_export_symbols')}
                                                          spids: [52669]
                                                        )
                                                      ]
                                                      spids: [52669]
                                                    )
                                                  ]
                                                )
                                                (AndOr
                                                  ops: [Op_DPipe]
                                                  children: [
                                                    (C {($ VSub_Name '$opt_dry_run')})
                                                    (C {(eval)} 
                                                      {
                                                        (SQ 
                                                          <
'$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
                                                          >
                                                        )
                                                      }
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [16777215 52652]
                                            )
                                          ]
                                          spids: [16777215 52684]
                                        )
                                        (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 '") 
                                                      ($ VSub_Name '$libname') (".la' to tag DATA exports")
                                                    )
                                                  }
                                                )
                                                (AndOr
                                                  ops: [Op_DPipe]
                                                  children: [
                                                    (C {($ VSub_Name '$opt_dry_run')})
                                                    (SimpleCommand
                                                      words: [
                                                        {($ VSub_Name '$SED')}
                                                        {(-e)}
                                                        {
                                                          (SQ 
                                                            <
'/[ ,]DATA/!d;s,\\(.*\\)\\([ \\,].*\\),s|^\\1$|\\1\\2|,'
                                                            >
                                                          )
                                                        }
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op: <Redir_Less '<'>
                                                          fd: 16777215
                                                          arg_word: {($ VSub_Name '$export_symbols')}
                                                        )
                                                        (Redir
                                                          op: <Redir_Great '>'>
                                                          fd: 16777215
                                                          arg_word: 
                                                            {($ VSub_Name '$output_objdir') (/) 
                                                              ($ VSub_Name '$libname') (.filter)
                                                            }
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                )
                                                (C {(func_append)} {(delfiles)} 
                                                  {
                                                    (DQ (' ') ($ VSub_Name '$export_symbols') (' ') 
                                                      ($ VSub_Name '$output_objdir') (/) ($ VSub_Name '$libname') (.filter)
                                                    )
                                                  }
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:export_symbols)
                                                      op: Equal
                                                      rhs: 
                                                        {($ VSub_Name '$output_objdir') (/) 
                                                          ($ VSub_Name '$libname') (.def)
                                                        }
                                                      spids: [52774]
                                                    )
                                                  ]
                                                  spids: [52774]
                                                )
                                                (AndOr
                                                  ops: [Op_DPipe]
                                                  children: [
                                                    (C {($ VSub_Name '$opt_dry_run')})
                                                    (SimpleCommand
                                                      words: [
                                                        {($ VSub_Name '$SED')}
                                                        {(-f)}
                                                        {($ VSub_Name '$output_objdir') (/) 
                                                          ($ VSub_Name '$libname') (.filter)
                                                        }
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op: <Redir_Less '<'>
                                                          fd: 16777215
                                                          arg_word: 
                                                            {($ VSub_Name '$orig_export_symbols')}
                                                        )
                                                        (Redir
                                                          op: <Redir_Great '>'>
                                                          fd: 16777215
                                                          arg_word: {($ VSub_Name '$export_symbols')}
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [16777215 52699]
                                            )
                                          ]
                                          spids: [16777215 52803]
                                        )
                                      ]
                                      spids: [52628]
                                    )
                                  ]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:libobjs)
                                      op: Equal
                                      rhs: {($ VSub_Name '$output')}
                                      spids: [52810]
                                    )
                                  ]
                                  spids: [52810]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:output)
                                      op: Equal
                                      rhs: {($ VSub_Name '$save_output')}
                                      spids: [52818]
                                    )
                                  ]
                                  spids: [52818]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (AndOr
                                              ops: [Op_DAmp]
                                              children: [
                                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$convenience'))})
                                                (C {(test)} {(-n)} 
                                                  {(DQ ($ VSub_Name '$whole_archive_flag_spec'))}
                                                )
                                              ]
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C {(eval)} 
                                          {(Lit_VarLike 'libobjs=') 
                                            (EscapedLiteralPart
                                              token: <Lit_EscapedChar '\\"'>
                                            ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (libobjs)
                                          } {($ VSub_Name '$whole_archive_flag_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)}
                                        )
                                        (AndOr
                                          ops: [Op_DAmp]
                                          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: {(EmptyPart)}
                                                  spids: [52873]
                                                )
                                              ]
                                              spids: [52873]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [16777215 52844]
                                    )
                                  ]
                                  spids: [16777215 52876]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (AndOr
                                              ops: [Op_DAmp]
                                              children: [
                                                (C {(test)} {(yes)} {(Lit_Other '=')} 
                                                  {(DQ ($ VSub_Name '$module'))}
                                                )
                                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$module_cmds'))})
                                              ]
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (If
                                          arms: [
                                            (if_arm
                                              cond: [
                                                (Sentence
                                                  child: 
                                                    (AndOr
                                                      ops: [Op_DAmp]
                                                      children: [
                                                        (C {(test)} {(-n)} 
                                                          {(DQ ($ VSub_Name '$export_symbols'))}
                                                        )
                                                        (C {(test)} {(-n)} 
                                                          {(DQ ($ VSub_Name '$module_expsym_cmds'))}
                                                        )
                                                      ]
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:cmds)
                                                      op: Equal
                                                      rhs: {($ VSub_Name '$module_expsym_cmds')}
                                                      spids: [52942]
                                                    )
                                                  ]
                                                  spids: [52942]
                                                )
                                              ]
                                              spids: [16777215 52939]
                                            )
                                          ]
                                          else_action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:cmds)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$module_cmds')}
                                                  spids: [52949]
                                                )
                                              ]
                                              spids: [52949]
                                            )
                                          ]
                                          spids: [52946 52953]
                                        )
                                      ]
                                      spids: [16777215 52915]
                                    )
                                  ]
                                  else_action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$export_symbols'))}
                                                    )
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$archive_expsym_cmds'))}
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:cmds)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$archive_expsym_cmds')}
                                                  spids: [52983]
                                                )
                                              ]
                                              spids: [52983]
                                            )
                                          ]
                                          spids: [16777215 52980]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:cmds)
                                              op: Equal
                                              rhs: {($ VSub_Name '$archive_cmds')}
                                              spids: [52990]
                                            )
                                          ]
                                          spids: [52990]
                                        )
                                      ]
                                      spids: [52987 52994]
                                    )
                                  ]
                                  spids: [52956 52997]
                                )
                              ]
                              spids: [51512 53000]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$delfiles'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(eval)} 
                                      {(Lit_VarLike 'cmds=') 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\"'>
                                        ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (cmds) (Lit_TildeLike '~') 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\$'>
                                        ) (RM)
                                      } {($ VSub_Name '$delfiles') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)}
                                    )
                                  ]
                                  spids: [16777215 53015]
                                )
                              ]
                              spids: [16777215 53036]
                            )
                            (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: 
                                            {($ VSub_Name '$output_objdir') (/) 
                                              (${ VSub_Name outputname) (x)
                                            }
                                          spids: [53058]
                                        )
                                      ]
                                      spids: [53058]
                                    )
                                    (C {(func_append)} {(generated)} {(DQ (' ') ($ VSub_Name '$gentop'))})
                                    (C {(func_extract_archives)} {($ VSub_Name '$gentop')} 
                                      {($ VSub_Name '$dlprefiles')}
                                    )
                                    (C {(func_append)} {(libobjs)} 
                                      {(DQ (' ') ($ VSub_Name '$func_extract_archives_result'))}
                                    )
                                    (AndOr
                                      ops: [Op_DAmp]
                                      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: {(EmptyPart)}
                                              spids: [53110]
                                            )
                                          ]
                                          spids: [53110]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16777215 53055]
                                )
                              ]
                              spids: [16777215 53113]
                            )
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:save_ifs)
                                      op: Equal
                                      rhs: {($ VSub_Name '$IFS')}
                                      spids: [53117]
                                    )
                                  ]
                                  spids: [53117]
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(SQ <'~'>)}
                                  spids: [53121]
                                )
                              ]
                              spids: [53121]
                            )
                            (ForEach
                              iter_name: cmd
                              iter_words: [{($ VSub_Name '$cmds')}]
                              do_arg_iter: F
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {($ VSub_Name '$sp') ($ VSub_Name '$nl')}
                                          spids: [53139]
                                        )
                                      ]
                                      spids: [53139]
                                    )
                                    (C {(eval)} 
                                      {(Lit_VarLike 'cmd=') 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\"'>
                                        ) ($ VSub_Name '$cmd') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                      }
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {($ VSub_Name '$save_ifs')}
                                          spids: [53152]
                                        )
                                      ]
                                      spids: [53152]
                                    )
                                    (AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {($ VSub_Name '$opt_quiet')})
                                        (BraceGroup
                                          children: [
                                            (C {(func_quote_for_expand)} {(DQ ($ VSub_Name '$cmd'))})
                                            (C {(eval)} 
                                              {
                                                (DQ ('func_echo ') 
                                                  ($ VSub_Name '$func_quote_for_expand_result')
                                                )
                                              }
                                            )
                                          ]
                                          spids: [53160]
                                        )
                                      ]
                                    )
                                    (AndOr
                                      ops: [Op_DPipe Op_DPipe]
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (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: [53196]
                                                )
                                              ]
                                              spids: [53196]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(relink)} {(Lit_Other '=')} 
                                                          {(DQ ($ VSub_Name '$opt_mode'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Subshell
                                                      child: 
                                                        (AndOr
                                                          ops: [Op_DAmp Op_DAmp]
                                                          children: [
                                                            (C {(cd)} 
                                                              {(DQ ($ VSub_Name '$output_objdir'))}
                                                            )
                                                            (C {($ VSub_Name '$RM')} 
                                                              {(DQ (${ VSub_Name realname) (T))}
                                                            )
                                                            (C {($ VSub_Name '$MV')} 
                                                              {(DQ (${ VSub_Name realname) (U))} {(DQ ($ VSub_Name '$realname'))}
                                                            )
                                                          ]
                                                        )
                                                      spids: [53221 53259]
                                                    )
                                                  ]
                                                  spids: [16777215 53218]
                                                )
                                              ]
                                              spids: [16777215 53262]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Exit exit>
                                              arg_word: {($ VSub_Name '$lt_exit')}
                                            )
                                          ]
                                          spids: [53193]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [53136 53274]
                                )
                              spids: [53132 53134]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {($ VSub_Name '$save_ifs')}
                                  spids: [53277]
                                )
                              ]
                              spids: [53277]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(relink)} {(Lit_Other '=')} 
                                          {(DQ ($ VSub_Name '$opt_mode'))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (AndOr
                                      ops: [Op_DPipe Op_DPipe]
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (C {(eval)} 
                                          {
                                            (SQ 
                                              <
'(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)'
                                              >
                                            )
                                          }
                                        )
                                        (ControlFlow
                                          token: <ControlFlow_Exit exit>
                                          arg_word: {($ VSub_QMark '$?')}
                                        )
                                      ]
                                    )
                                    (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: [16777215 53345]
                                                )
                                              ]
                                              spids: [16777215 53355]
                                            )
                                          ]
                                          spids: [16777215 53331]
                                        )
                                      ]
                                      spids: [16777215 53358]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Exit exit>
                                      arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
                                    )
                                  ]
                                  spids: [16777215 53299]
                                )
                              ]
                              spids: [16777215 53367]
                            )
                            (ForEach
                              iter_name: linkname
                              iter_words: [{($ VSub_Name '$linknames')}]
                              do_arg_iter: F
                              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: [16777215 53403]
                                        )
                                      ]
                                      spids: [16777215 53417]
                                    )
                                  ]
                                  spids: [53384 53420]
                                )
                              spids: [53380 53382]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          ops: [Op_DPipe]
                                          children: [
                                            (C {(test)} {(yes)} {(Lit_Other '=')} 
                                              {(DQ ($ VSub_Name '$module'))}
                                            )
                                            (C {(test)} {(yes)} {(Lit_Other '=')} 
                                              {(DQ ($ VSub_Name '$export_dynamic'))}
                                            )
                                          ]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dlname)
                                          op: Equal
                                          rhs: {($ VSub_Name '$soname')}
                                          spids: [53460]
                                        )
                                      ]
                                      spids: [53460]
                                    )
                                  ]
                                  spids: [16777215 53453]
                                )
                              ]
                              spids: [16777215 53464]
                            )
                          ]
                          spids: [16777215 49479]
                        )
                      ]
                      spids: [16777215 53467]
                    )
                  ]
                  spids: [43850 43851 53470 16777215]
                )
                (case_arm
                  pat_list: [{(obj)}]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  ops: [Op_DPipe]
                                  children: [
                                    (C {(test)} {(-n)} 
                                      {(DQ ($ VSub_Name '$dlfiles') ($ VSub_Name '$dlprefiles'))}
                                    )
                                    (C {(test)} {(no)} {(KW_Bang '!') (Lit_Other '=')} 
                                      {(DQ ($ VSub_Name '$dlself'))}
                                    )
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(func_warning)} {(DQ ("'-dlopen' is ignored for objects"))})]
                          spids: [16777215 53503]
                        )
                      ]
                      spids: [16777215 53513]
                    )
                    (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 ("'-l' and '-L' are ignored for objects"))})]
                          spids: [53527 53538 53547 16777215]
                        )
                      ]
                      spids: [53517 53524 53550]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$rpath'))})
                        (C {(func_warning)} {(DQ ("'-rpath' is ignored for objects"))})
                      ]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$xrpath'))})
                        (C {(func_warning)} {(DQ ("'-R' is ignored for objects"))})
                      ]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$vinfo'))})
                        (C {(func_warning)} {(DQ ("'-version-info' is ignored for objects"))})
                      ]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$release'))})
                        (C {(func_warning)} {(DQ ("'-release' is ignored for objects"))})
                      ]
                    )
                    (Case
                      to_match: {($ VSub_Name '$output')}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.lo)}]
                          action: [
                            (AndOr
                              ops: [Op_DAmp]
                              children: [
                                (C {(test)} {(-n)} 
                                  {(DQ ($ VSub_Name '$objs') ($ VSub_Name '$old_deplibs'))}
                                )
                                (C {(func_fatal_error)} 
                                  {
                                    (DQ ("cannot build library object '") ($ VSub_Name '$output') 
                                      ("' from non-libtool objects")
                                    )
                                  }
                                )
                              ]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libobj)
                                  op: Equal
                                  rhs: {($ VSub_Name '$output')}
                                  spids: [53669]
                                )
                              ]
                              spids: [53669]
                            )
                            (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: [53680]
                                )
                              ]
                              spids: [53680]
                            )
                          ]
                          spids: [53641 53643 53684 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libobj)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [53691]
                                )
                              ]
                              spids: [53691]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:obj)
                                  op: Equal
                                  rhs: {($ VSub_Name '$output')}
                                  spids: [53694]
                                )
                              ]
                              spids: [53694]
                            )
                          ]
                          spids: [53687 53688 53698 16777215]
                        )
                      ]
                      spids: [53634 53638 53701]
                    )
                    (AndOr
                      ops: [Op_DPipe]
                      children: [
                        (C {($ VSub_Name '$opt_dry_run')})
                        (C {($ VSub_Name '$RM')} {($ VSub_Name '$obj')} {($ VSub_Name '$libobj')})
                      ]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:reload_conv_objs)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [53737]
                        )
                      ]
                      spids: [53737]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:gentop)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [53740]
                        )
                      ]
                      spids: [53740]
                    )
                    (Case
                      to_match: {($ VSub_Name '$reload_cmds')}
                      arms: [
                        (case_arm
                          pat_list: [
                            {(Lit_Other '*') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (LD) 
                              (Lit_Other '[') (EscapedLiteralPart token:<Lit_EscapedChar '\\ '>) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                              (Lit_Other ']') (Lit_Other '*')
                            }
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:wl)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [53772]
                                )
                              ]
                              spids: [53772]
                            )
                          ]
                          spids: [53762 53770 53774 16777215]
                        )
                      ]
                      spids: [53755 53759 53777]
                    )
                    (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)} 
                                      {(Lit_VarLike 'tmp_whole_archive_flags=') 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\"'>
                                        ) ($ VSub_Name '$whole_archive_flag_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                      }
                                    )
                                    (AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$wl'))})
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:tmp_whole_archive_flags)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (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: F
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick '`'>
                                                    spids: [53827 53841]
                                                  )
                                                }
                                              spids: [53826]
                                            )
                                          ]
                                          spids: [53826]
                                        )
                                      ]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:reload_conv_objs)
                                          op: Equal
                                          rhs: 
                                            {($ VSub_Name '$reload_objs') 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar '\\ '>
                                              ) ($ VSub_Name '$tmp_whole_archive_flags')
                                            }
                                          spids: [53844]
                                        )
                                      ]
                                      spids: [53844]
                                    )
                                  ]
                                  spids: [16777215 53805]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:gentop)
                                      op: Equal
                                      rhs: {($ VSub_Name '$output_objdir') (/) (${ VSub_Name obj) (x)}
                                      spids: [53853]
                                    )
                                  ]
                                  spids: [53853]
                                )
                                (C {(func_append)} {(generated)} {(DQ (' ') ($ VSub_Name '$gentop'))})
                                (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: [53880]
                                    )
                                  ]
                                  spids: [53880]
                                )
                              ]
                              spids: [53850 53888]
                            )
                          ]
                          spids: [16777215 53791]
                        )
                      ]
                      spids: [16777215 53891]
                    )
                    (AndOr
                      ops: [Op_DPipe]
                      children: [
                        (C {(test)} {(yes)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$build_libtool_libs'))})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:libobjs)
                              op: Equal
                              rhs: {($ VSub_Name '$non_pic_objects')}
                              spids: [53911]
                            )
                          ]
                          spids: [53911]
                        )
                      ]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:reload_objs)
                          op: Equal
                          rhs: 
                            {($ VSub_Name '$objs') ($ VSub_Name '$old_deplibs') (SQ <' '>) 
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {($ VSub_Name '$ECHO')} {(DQ ($ VSub_Name '$libobjs'))})
                                          (C {($ VSub_Name '$SP2NL')})
                                          (C {($ VSub_Name '$SED')} 
                                            {
                                              (DQ (/) (Lit_Other '\\') (.) ($ VSub_Name '$libext') 
                                                (Lit_Other '$') ('/d; /') (Lit_Other '\\') (.lib) (Lit_Other '$') ('/d; ') ($ VSub_Name '$lo2o')
                                              )
                                            }
                                          )
                                          (C {($ VSub_Name '$NL2SP')})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [53926 53958]
                              ) (SQ <' '>) ($ VSub_Name '$reload_conv_objs')
                            }
                          spids: [53920]
                        )
                      ]
                      spids: [53920]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:output)
                          op: Equal
                          rhs: {($ VSub_Name '$obj')}
                          spids: [53966]
                        )
                      ]
                      spids: [53966]
                    )
                    (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: [16777215 54011]
                                )
                              ]
                              spids: [16777215 54021]
                            )
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
                            )
                          ]
                          spids: [16777215 53997]
                        )
                      ]
                      spids: [16777215 54030]
                    )
                    (AndOr
                      ops: [Op_DPipe]
                      children: [
                        (C {(test)} {(yes)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$build_libtool_libs'))})
                        (BraceGroup
                          children: [
                            (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: [16777215 54060]
                                )
                              ]
                              spids: [16777215 54070]
                            )
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
                            )
                          ]
                          spids: [54046]
                        )
                      ]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  ops: [Op_DPipe]
                                  children: [
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$pic_flag'))})
                                    (C {(test)} {(default)} {(KW_Bang '!') (Lit_Other '=')} 
                                      {(DQ ($ VSub_Name '$pic_mode'))}
                                    )
                                  ]
                                )
                              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: [54130]
                                )
                              ]
                              spids: [54130]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:output)
                                  op: Equal
                                  rhs: {($ VSub_Name '$libobj')}
                                  spids: [54138]
                                )
                              ]
                              spids: [54138]
                            )
                            (C {(func_execute_cmds)} {(DQ ($ VSub_Name '$reload_cmds'))} 
                              {(SQ <'exit $?'>)}
                            )
                          ]
                          spids: [16777215 54123]
                        )
                      ]
                      spids: [16777215 54153]
                    )
                    (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: [16777215 54168]
                        )
                      ]
                      spids: [16777215 54178]
                    )
                    (ControlFlow
                      token: <ControlFlow_Exit exit>
                      arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
                    )
                  ]
                  spids: [53474 53475 54187 16777215]
                )
                (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: [54221]
                                )
                              ]
                              spids: [54221]
                            )
                          ]
                          spids: [54202 54205 54224 16777215]
                        )
                      ]
                      spids: [54195 54199 54227]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$vinfo'))})
                        (C {(func_warning)} {(DQ ("'-version-info' is ignored for programs"))})
                      ]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$release'))})
                        (C {(func_warning)} {(DQ ("'-release' is ignored for programs"))})
                      ]
                    )
                    (AndOr
                      ops: [Op_DAmp Op_DAmp]
                      children: [
                        (C {($ VSub_Name '$preload')})
                        (C {(test)} {(unknown) (Lit_Comma ',') (unknown) (Lit_Comma ',') (unknown)} 
                          {(Lit_Other '=')} 
                          {
                            (DQ ($ VSub_Name '$dlopen_support') (',') ($ VSub_Name '$dlopen_self') (',') 
                              ($ VSub_Name '$dlopen_self_static')
                            )
                          }
                        )
                        (C {(func_warning)} 
                          {(DQ ("'LT_INIT([dlopen])' not used. Assuming no dlopen support."))}
                        )
                      ]
                    )
                    (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: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [54336 54351]
                                      )
                                    }
                                  spids: [54335]
                                )
                              ]
                              spids: [54335]
                            )
                            (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: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [54355 54370]
                                      )
                                    }
                                  spids: [54354]
                                )
                              ]
                              spids: [54354]
                            )
                          ]
                          spids: [54313 54328 54373 16777215]
                        )
                      ]
                      spids: [54306 54310 54376]
                    )
                    (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)} {(CXX)} {(Lit_Other '=')} 
                                          {(DQ ($ VSub_Name '$tagname'))}
                                        )
                                      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: [54421 54425]
                                          )
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [{(10.) (Lit_Other '[') (0123) (Lit_Other ']')}]
                                          action: [
                                            (C {(func_append)} {(compile_command)} 
                                              {(DQ (' ') ($ VSub_Name '$wl') (-bind_at_load))}
                                            )
                                            (C {(func_append)} {(finalize_command)} 
                                              {(DQ (' ') ($ VSub_Name '$wl') (-bind_at_load))}
                                            )
                                          ]
                                          spids: [54430 54434 54459 16777215]
                                        )
                                      ]
                                      spids: [54419 54427 54462]
                                    )
                                  ]
                                  spids: [16777215 54416]
                                )
                              ]
                              spids: [16777215 54465]
                            )
                            (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: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [54473 54488]
                                      )
                                    }
                                  spids: [54472]
                                )
                              ]
                              spids: [54472]
                            )
                            (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: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [54492 54507]
                                      )
                                    }
                                  spids: [54491]
                                )
                              ]
                              spids: [54491]
                            )
                          ]
                          spids: [54387 54392 54510 16777215]
                        )
                      ]
                      spids: [54380 54384 54513]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:new_libs)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [54526]
                        )
                      ]
                      spids: [54526]
                    )
                    (ForEach
                      iter_name: path
                      iter_words: [{($ VSub_Name '$notinst_path')}]
                      do_arg_iter: F
                      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: [54552 54561 54563 16777215]
                                )
                                (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: [
                                            (C {(func_append)} {(new_libs)} 
                                              {
                                                (DQ (' -L') ($ VSub_Name '$path') (/) 
                                                  ($ VSub_Name '$objdir')
                                                )
                                              }
                                            )
                                          ]
                                          spids: [54581 54590 54604 16777215]
                                        )
                                      ]
                                      spids: [54570 54578 54607]
                                    )
                                  ]
                                  spids: [54566 54567 54610 16777215]
                                )
                              ]
                              spids: [54541 54549 54613]
                            )
                          ]
                          spids: [54538 54616]
                        )
                      spids: [54534 54536]
                    )
                    (ForEach
                      iter_name: deplib
                      iter_words: [{($ VSub_Name '$compile_deplibs')}]
                      do_arg_iter: F
                      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: [54654 54661 54663 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_append)} {(new_libs)} 
                                              {(DQ (' ') ($ VSub_Name '$deplib'))}
                                            )
                                          ]
                                          spids: [54666 54667 54678 16777215]
                                        )
                                      ]
                                      spids: [54643 54651 54681]
                                    )
                                  ]
                                  spids: [54638 54640 54684 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(func_append)} {(new_libs)} {(DQ (' ') ($ VSub_Name '$deplib'))})
                                  ]
                                  spids: [54687 54688 54699 16777215]
                                )
                              ]
                              spids: [54631 54635 54702]
                            )
                          ]
                          spids: [54628 54705]
                        )
                      spids: [54624 54626]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:compile_deplibs)
                          op: Equal
                          rhs: {($ VSub_Name '$new_libs')}
                          spids: [54708]
                        )
                      ]
                      spids: [54708]
                    )
                    (C {(func_append)} {(compile_command)} {(DQ (' ') ($ VSub_Name '$compile_deplibs'))})
                    (C {(func_append)} {(finalize_command)} 
                      {(DQ (' ') ($ VSub_Name '$finalize_deplibs'))}
                    )
                    (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: F
                              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: [54782 54789 54791 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_append)} {(finalize_rpath)} 
                                              {(DQ (' ') ($ VSub_Name '$libdir'))}
                                            )
                                          ]
                                          spids: [54794 54795 54806 16777215]
                                        )
                                      ]
                                      spids: [54772 54779 54809]
                                    )
                                  ]
                                  spids: [54765 54812]
                                )
                              spids: [54759 54763]
                            )
                          ]
                          spids: [16777215 54747]
                        )
                      ]
                      spids: [16777215 54815]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rpath)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [54823]
                        )
                      ]
                      spids: [54823]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:hardcode_libdirs)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [54826]
                        )
                      ]
                      spids: [54826]
                    )
                    (ForEach
                      iter_name: libdir
                      iter_words: [{($ VSub_Name '$compile_rpath')} {($ VSub_Name '$finalize_rpath')}]
                      do_arg_iter: F
                      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: {($ VSub_Name '$libdir')}
                                                          spids: [54885]
                                                        )
                                                      ]
                                                      spids: [54885]
                                                    )
                                                  ]
                                                  spids: [16777215 54882]
                                                )
                                              ]
                                              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: [54905 54912 54915 16777215]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other '*')}]
                                                      action: [
                                                        (C {(func_append)} {(hardcode_libdirs)} 
                                                          {
                                                            (DQ 
                                                              ($ VSub_Name 
'$hardcode_libdir_separator'
                                                              ) ($ VSub_Name '$libdir')
                                                            )
                                                          }
                                                        )
                                                      ]
                                                      spids: [54918 54919 54932 16777215]
                                                    )
                                                  ]
                                                  spids: [54896 54902 54935]
                                                )
                                              ]
                                              spids: [54889 54938]
                                            )
                                          ]
                                          spids: [16777215 54868]
                                        )
                                      ]
                                      else_action: [
                                        (C {(eval)} 
                                          {(Lit_VarLike 'flag=') 
                                            (EscapedLiteralPart
                                              token: <Lit_EscapedChar '\\"'>
                                            ) ($ VSub_Name '$hardcode_libdir_flag_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                          }
                                        )
                                        (C {(func_append)} {(rpath)} {(DQ (' ') ($ VSub_Name '$flag'))})
                                      ]
                                      spids: [54941 54962]
                                    )
                                  ]
                                  spids: [16777215 54854]
                                )
                                (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: [54989 54996 54998 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_append)} {(perm_rpath)} 
                                              {(DQ (' ') ($ VSub_Name '$libdir'))}
                                            )
                                          ]
                                          spids: [55001 55002 55013 16777215]
                                        )
                                      ]
                                      spids: [54979 54986 55016]
                                    )
                                  ]
                                  spids: [54965 54976]
                                )
                              ]
                              spids: [16777215 55019]
                            )
                            (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: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [55068 55084]
                                              )
                                            }
                                          spids: [55067]
                                        )
                                      ]
                                      spids: [55067]
                                    )
                                    (Case
                                      to_match: 
                                        {(Lit_Other ':') ($ VSub_Name '$dllsearchpath') 
                                          (Lit_Other ':')
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (DQ (':') ($ VSub_Name '$libdir') (':')) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [55096 55103 55105 16777215]
                                        )
                                        (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: [55112]
                                                )
                                              ]
                                              spids: [55112]
                                            )
                                          ]
                                          spids: [55108 55110 55114 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_append)} {(dllsearchpath)} 
                                              {(DQ (':') ($ VSub_Name '$libdir'))}
                                            )
                                          ]
                                          spids: [55117 55118 55128 16777215]
                                        )
                                      ]
                                      spids: [55087 55093 55131]
                                    )
                                    (Case
                                      to_match: 
                                        {(Lit_Other ':') ($ VSub_Name '$dllsearchpath') 
                                          (Lit_Other ':')
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') 
                                              (DQ (':') ($ VSub_Name '$testbindir') (':')) (Lit_Other '*')
                                            }
                                          ]
                                          spids: [55143 55150 55152 16777215]
                                        )
                                        (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: [55159]
                                                )
                                              ]
                                              spids: [55159]
                                            )
                                          ]
                                          spids: [55155 55157 55161 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_append)} {(dllsearchpath)} 
                                              {(DQ (':') ($ VSub_Name '$testbindir'))}
                                            )
                                          ]
                                          spids: [55164 55165 55175 16777215]
                                        )
                                      ]
                                      spids: [55134 55140 55178]
                                    )
                                  ]
                                  spids: [55029 55064 55181 16777215]
                                )
                              ]
                              spids: [55022 55026 55184]
                            )
                          ]
                          spids: [54840 55187]
                        )
                      spids: [54834 54838]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  ops: [Op_DAmp]
                                  children: [
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$hardcode_libdir_separator'))})
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$hardcode_libdirs'))})
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libdir)
                                  op: Equal
                                  rhs: {($ VSub_Name '$hardcode_libdirs')}
                                  spids: [55219]
                                )
                              ]
                              spids: [55219]
                            )
                            (C {(eval)} 
                              {(Lit_VarLike 'rpath=') 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar '\\"'>
                                )
                              } {($ VSub_Name '$hardcode_libdir_flag_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)}
                            )
                          ]
                          spids: [16777215 55216]
                        )
                      ]
                      spids: [16777215 55232]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:compile_rpath)
                          op: Equal
                          rhs: {($ VSub_Name '$rpath')}
                          spids: [55235]
                        )
                      ]
                      spids: [55235]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rpath)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [55240]
                        )
                      ]
                      spids: [55240]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:hardcode_libdirs)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [55243]
                        )
                      ]
                      spids: [55243]
                    )
                    (ForEach
                      iter_name: libdir
                      iter_words: [{($ VSub_Name '$finalize_rpath')}]
                      do_arg_iter: F
                      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: {($ VSub_Name '$libdir')}
                                                          spids: [55300]
                                                        )
                                                      ]
                                                      spids: [55300]
                                                    )
                                                  ]
                                                  spids: [16777215 55297]
                                                )
                                              ]
                                              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: [55320 55327 55330 16777215]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other '*')}]
                                                      action: [
                                                        (C {(func_append)} {(hardcode_libdirs)} 
                                                          {
                                                            (DQ 
                                                              ($ VSub_Name 
'$hardcode_libdir_separator'
                                                              ) ($ VSub_Name '$libdir')
                                                            )
                                                          }
                                                        )
                                                      ]
                                                      spids: [55333 55334 55347 16777215]
                                                    )
                                                  ]
                                                  spids: [55311 55317 55350]
                                                )
                                              ]
                                              spids: [55304 55353]
                                            )
                                          ]
                                          spids: [16777215 55283]
                                        )
                                      ]
                                      else_action: [
                                        (C {(eval)} 
                                          {(Lit_VarLike 'flag=') 
                                            (EscapedLiteralPart
                                              token: <Lit_EscapedChar '\\"'>
                                            ) ($ VSub_Name '$hardcode_libdir_flag_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                          }
                                        )
                                        (C {(func_append)} {(rpath)} {(DQ (' ') ($ VSub_Name '$flag'))})
                                      ]
                                      spids: [55356 55377]
                                    )
                                  ]
                                  spids: [16777215 55269]
                                )
                                (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: [55404 55411 55413 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_append)} {(finalize_perm_rpath)} 
                                              {(DQ (' ') ($ VSub_Name '$libdir'))}
                                            )
                                          ]
                                          spids: [55416 55417 55428 16777215]
                                        )
                                      ]
                                      spids: [55394 55401 55431]
                                    )
                                  ]
                                  spids: [55380 55391]
                                )
                              ]
                              spids: [16777215 55434]
                            )
                          ]
                          spids: [55255 55437]
                        )
                      spids: [55251 55253]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  ops: [Op_DAmp]
                                  children: [
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$hardcode_libdir_separator'))})
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$hardcode_libdirs'))})
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libdir)
                                  op: Equal
                                  rhs: {($ VSub_Name '$hardcode_libdirs')}
                                  spids: [55469]
                                )
                              ]
                              spids: [55469]
                            )
                            (C {(eval)} 
                              {(Lit_VarLike 'rpath=') 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar '\\"'>
                                )
                              } {($ VSub_Name '$hardcode_libdir_flag_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)}
                            )
                          ]
                          spids: [16777215 55466]
                        )
                      ]
                      spids: [16777215 55482]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:finalize_rpath)
                          op: Equal
                          rhs: {($ VSub_Name '$rpath')}
                          spids: [55485]
                        )
                      ]
                      spids: [55485]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  ops: [Op_DAmp]
                                  children: [
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$libobjs'))})
                                    (C {(test)} {(yes)} {(Lit_Other '=')} 
                                      {(DQ ($ VSub_Name '$build_old_libs'))}
                                    )
                                  ]
                                )
                              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: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [55521 55543]
                                      )
                                    }
                                  spids: [55520]
                                )
                              ]
                              spids: [55520]
                            )
                            (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: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [55547 55569]
                                      )
                                    }
                                  spids: [55546]
                                )
                              ]
                              spids: [55546]
                            )
                          ]
                          spids: [16777215 55513]
                        )
                      ]
                      spids: [16777215 55572]
                    )
                    (C {(func_generate_dlsyms)} {(DQ ($ VSub_Name '$outputname'))} {(DQ ('@PROGRAM@'))} 
                      {(false)}
                    )
                    (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: [16777215 55605]
                        )
                      ]
                      spids: [16777215 55619]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:wrappers_required)
                          op: Equal
                          rhs: {(Lit_Other ':')}
                          spids: [55623]
                        )
                      ]
                      spids: [55623]
                    )
                    (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: {(false)}
                                  spids: [55650]
                                )
                              ]
                              spids: [55650]
                            )
                          ]
                          spids: [55634 55643 55654 16777215]
                        )
                        (case_arm
                          pat_list: [
                            {(Lit_Other '*') (cygwin) (Lit_Other '*')}
                            {(Lit_Other '*') (mingw) (Lit_Other '*')}
                          ]
                          action: [
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(test)} {(yes)} {(Lit_Other '=')} 
                                  {(DQ ($ VSub_Name '$build_libtool_libs'))}
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:wrappers_required)
                                      op: Equal
                                      rhs: {(false)}
                                      spids: [55682]
                                    )
                                  ]
                                  spids: [55682]
                                )
                              ]
                            )
                          ]
                          spids: [55657 55667 55686 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          ops: [Op_DPipe]
                                          children: [
                                            (C {(test)} {(no)} {(Lit_Other '=')} 
                                              {(DQ ($ VSub_Name '$need_relink'))}
                                            )
                                            (C {(test)} {(yes)} {(KW_Bang '!') (Lit_Other '=')} 
                                              {(DQ ($ VSub_Name '$build_libtool_libs'))}
                                            )
                                          ]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:wrappers_required)
                                          op: Equal
                                          rhs: {(false)}
                                          spids: [55722]
                                        )
                                      ]
                                      spids: [55722]
                                    )
                                  ]
                                  spids: [16777215 55719]
                                )
                              ]
                              spids: [16777215 55726]
                            )
                          ]
                          spids: [55689 55690 55729 16777215]
                        )
                      ]
                      spids: [55627 55631 55732]
                    )
                    (AndOr
                      ops: [Op_DPipe]
                      children: [
                        (C {($ VSub_Name '$wrappers_required')})
                        (BraceGroup
                          children: [
                            (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: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [55747 55767]
                                      )
                                    }
                                  spids: [55746]
                                )
                              ]
                              spids: [55746]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:link_command)
                                  op: Equal
                                  rhs: 
                                    {($ VSub_Name '$compile_command') ($ VSub_Name '$compile_rpath')}
                                  spids: [55770]
                                )
                              ]
                              spids: [55770]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:exit_status)
                                  op: Equal
                                  rhs: {(0)}
                                  spids: [55780]
                                )
                              ]
                              spids: [55780]
                            )
                            (C {(func_show_eval)} {(DQ ($ VSub_Name '$link_command'))} 
                              {(SQ <'exit_status=$?'>)}
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$postlink_cmds'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_to_tool_file)} {(DQ ($ VSub_Name '$output'))})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:postlink_cmds)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {(func_echo_all)} 
                                                            {(DQ ($ VSub_Name '$postlink_cmds'))}
                                                          )
                                                          (C {($ VSub_Name '$SED')} {(-e)} 
                                                            {(SQ <'s%@OUTPUT@%'>) 
                                                              (DQ ($ VSub_Name '$output')) (SQ <'%g'>)
                                                            } {(-e)} {(SQ <'s%@TOOL_OUTPUT@%'>) (DQ ($ VSub_Name '$func_to_tool_file_result')) (SQ <'%g'>)}
                                                          )
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [55818 55852]
                                              )
                                            }
                                          spids: [55817]
                                        )
                                      ]
                                      spids: [55817]
                                    )
                                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name '$postlink_cmds'))} 
                                      {(SQ <'exit $?'>)}
                                    )
                                  ]
                                  spids: [16777215 55807]
                                )
                              ]
                              spids: [16777215 55866]
                            )
                            (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: [16777215 55891]
                                )
                              ]
                              spids: [16777215 55901]
                            )
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {($ VSub_Name '$exit_status')}
                            )
                          ]
                          spids: [55739]
                        )
                      ]
                    )
                    (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: [55929]
                                )
                              ]
                              spids: [55929]
                            )
                          ]
                          spids: [16777215 55926]
                        )
                      ]
                      spids: [16777215 55944]
                    )
                    (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: [55961]
                                )
                              ]
                              spids: [55961]
                            )
                          ]
                          spids: [16777215 55958]
                        )
                      ]
                      spids: [16777215 55975]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:compile_var)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [55979]
                        )
                      ]
                      spids: [55979]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:finalize_var)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [55982]
                        )
                      ]
                      spids: [55982]
                    )
                    (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: {(EmptyPart)}
                                          spids: [56017]
                                        )
                                      ]
                                      spids: [56017]
                                    )
                                    (ForEach
                                      iter_name: dir
                                      iter_words: [{($ VSub_Name '$perm_rpath')}]
                                      do_arg_iter: F
                                      body: 
                                        (DoGroup
                                          children: [
                                            (C {(func_append)} {(rpath)} 
                                              {(DQ ($ VSub_Name '$dir') (':'))}
                                            )
                                          ]
                                          spids: [56029 56042]
                                        )
                                      spids: [56025 56027]
                                    )
                                    (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: [56045]
                                        )
                                      ]
                                      spids: [56045]
                                    )
                                  ]
                                  spids: [16777215 56010]
                                )
                              ]
                              spids: [16777215 56058]
                            )
                            (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: {(EmptyPart)}
                                          spids: [56079]
                                        )
                                      ]
                                      spids: [56079]
                                    )
                                    (ForEach
                                      iter_name: dir
                                      iter_words: [{($ VSub_Name '$finalize_perm_rpath')}]
                                      do_arg_iter: F
                                      body: 
                                        (DoGroup
                                          children: [
                                            (C {(func_append)} {(rpath)} 
                                              {(DQ ($ VSub_Name '$dir') (':'))}
                                            )
                                          ]
                                          spids: [56091 56104]
                                        )
                                      spids: [56087 56089]
                                    )
                                    (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: [56107]
                                        )
                                      ]
                                      spids: [56107]
                                    )
                                  ]
                                  spids: [16777215 56072]
                                )
                              ]
                              spids: [16777215 56120]
                            )
                          ]
                          spids: [16777215 55996]
                        )
                      ]
                      spids: [16777215 56123]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(yes)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$no_install'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:link_command)
                                  op: Equal
                                  rhs: 
                                    {($ VSub_Name '$compile_var') ($ VSub_Name '$compile_command') 
                                      ($ VSub_Name '$compile_rpath')
                                    }
                                  spids: [56147]
                                )
                              ]
                              spids: [56147]
                            )
                            (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: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [56158 56178]
                                      )
                                    }
                                  spids: [56157]
                                )
                              ]
                              spids: [56157]
                            )
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {($ VSub_Name '$opt_dry_run')})
                                (C {($ VSub_Name '$RM')} {($ VSub_Name '$output')})
                              ]
                            )
                            (C {(func_show_eval)} {(DQ ($ VSub_Name '$link_command'))} {(SQ <'exit $?'>)})
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$postlink_cmds'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_to_tool_file)} {(DQ ($ VSub_Name '$output'))})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:postlink_cmds)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {(func_echo_all)} 
                                                            {(DQ ($ VSub_Name '$postlink_cmds'))}
                                                          )
                                                          (C {($ VSub_Name '$SED')} {(-e)} 
                                                            {(SQ <'s%@OUTPUT@%'>) 
                                                              (DQ ($ VSub_Name '$output')) (SQ <'%g'>)
                                                            } {(-e)} {(SQ <'s%@TOOL_OUTPUT@%'>) (DQ ($ VSub_Name '$func_to_tool_file_result')) (SQ <'%g'>)}
                                                          )
                                                        ]
                                                        negated: F
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [56232 56266]
                                              )
                                            }
                                          spids: [56231]
                                        )
                                      ]
                                      spids: [56231]
                                    )
                                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name '$postlink_cmds'))} 
                                      {(SQ <'exit $?'>)}
                                    )
                                  ]
                                  spids: [16777215 56221]
                                )
                              ]
                              spids: [16777215 56280]
                            )
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
                            )
                          ]
                          spids: [16777215 56140]
                        )
                      ]
                      spids: [16777215 56289]
                    )
                    (Case
                      to_match: 
                        {($ VSub_Name '$hardcode_action') (Lit_Comma ',') 
                          ($ VSub_Name '$fast_install')
                        }
                      arms: [
                        (case_arm
                          pat_list: [{(relink) (Lit_Comma ',') (Lit_Other '*')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:link_command)
                                  op: Equal
                                  rhs: 
                                    {($ VSub_Name '$compile_var') ($ VSub_Name '$compile_command') 
                                      ($ VSub_Name '$compile_rpath')
                                    }
                                  spids: [56312]
                                )
                              ]
                              spids: [56312]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:relink_command)
                                  op: Equal
                                  rhs: 
                                    {($ VSub_Name '$finalize_var') ($ VSub_Name '$finalize_command') 
                                      ($ VSub_Name '$finalize_rpath')
                                    }
                                  spids: [56318]
                                )
                              ]
                              spids: [56318]
                            )
                            (C {(func_warning)} 
                              {(DQ ('this platform does not like uninstalled shared libraries'))}
                            )
                            (C {(func_warning)} 
                              {
                                (DQ ("'") ($ VSub_Name '$output') 
                                  ("' will be relinked during installation")
                                )
                              }
                            )
                          ]
                          spids: [56302 56305 56341 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*') (Lit_Comma ',') (yes)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:link_command)
                                  op: Equal
                                  rhs: 
                                    {($ VSub_Name '$finalize_var') ($ VSub_Name '$compile_command') 
                                      ($ VSub_Name '$finalize_rpath')
                                    }
                                  spids: [56350]
                                )
                              ]
                              spids: [56350]
                            )
                            (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: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [56357 56373]
                                      )
                                    }
                                  spids: [56356]
                                )
                              ]
                              spids: [56356]
                            )
                          ]
                          spids: [56344 56347 56376 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*') (Lit_Comma ',') (no)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:link_command)
                                  op: Equal
                                  rhs: 
                                    {($ VSub_Name '$compile_var') ($ VSub_Name '$compile_command') 
                                      ($ VSub_Name '$compile_rpath')
                                    }
                                  spids: [56385]
                                )
                              ]
                              spids: [56385]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:relink_command)
                                  op: Equal
                                  rhs: 
                                    {($ VSub_Name '$finalize_var') ($ VSub_Name '$finalize_command') 
                                      ($ VSub_Name '$finalize_rpath')
                                    }
                                  spids: [56391]
                                )
                              ]
                              spids: [56391]
                            )
                          ]
                          spids: [56379 56382 56397 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*') (Lit_Comma ',') (needless)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:link_command)
                                  op: Equal
                                  rhs: 
                                    {($ VSub_Name '$finalize_var') ($ VSub_Name '$compile_command') 
                                      ($ VSub_Name '$finalize_rpath')
                                    }
                                  spids: [56406]
                                )
                              ]
                              spids: [56406]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:relink_command)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [56412]
                                )
                              ]
                              spids: [56412]
                            )
                          ]
                          spids: [56400 56403 56415 16777215]
                        )
                      ]
                      spids: [56293 56299 56418]
                    )
                    (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: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [56427 56449]
                              )
                            }
                          spids: [56426]
                        )
                      ]
                      spids: [56426]
                    )
                    (AndOr
                      ops: [Op_DPipe]
                      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')}
                        )
                      ]
                    )
                    (C {(func_show_eval)} {(DQ ($ VSub_Name '$link_command'))} {(SQ <'exit $?'>)})
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$postlink_cmds'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(func_to_tool_file)} 
                              {(DQ ($ VSub_Name '$output_objdir') (/) ($ VSub_Name '$outputname'))}
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:postlink_cmds)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(func_echo_all)} 
                                                    {(DQ ($ VSub_Name '$postlink_cmds'))}
                                                  )
                                                  (C {($ VSub_Name '$SED')} {(-e)} 
                                                    {(SQ <'s%@OUTPUT@%'>) 
                                                      (DQ ($ VSub_Name '$output_objdir') (/) 
                                                        ($ VSub_Name '$outputname')
                                                      ) (SQ <'%g'>)
                                                    } {(-e)} {(SQ <'s%@TOOL_OUTPUT@%'>) (DQ ($ VSub_Name '$func_to_tool_file_result')) (SQ <'%g'>)}
                                                  )
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [56511 56547]
                                      )
                                    }
                                  spids: [56510]
                                )
                              ]
                              spids: [56510]
                            )
                            (C {(func_execute_cmds)} {(DQ ($ VSub_Name '$postlink_cmds'))} 
                              {(SQ <'exit $?'>)}
                            )
                          ]
                          spids: [16777215 56498]
                        )
                      ]
                      spids: [16777215 56561]
                    )
                    (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: F
                              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: [56633]
                                                )
                                              ]
                                              spids: [56633]
                                            )
                                          ]
                                          spids: [16777215 56630]
                                        )
                                        (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: [56676]
                                                )
                                              ]
                                              spids: [56676]
                                            )
                                          ]
                                          spids: [56655 56673]
                                        )
                                      ]
                                      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: [56696]
                                            )
                                          ]
                                          spids: [56696]
                                        )
                                      ]
                                      spids: [56686 56708]
                                    )
                                  ]
                                  spids: [56609 56711]
                                )
                              spids: [56605 56607]
                            )
                            (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: [56717 56719]
                                        ) ('; ') ($ VSub_Name '$relink_command') (')')
                                      )
                                    }
                                  spids: [56714]
                                )
                              ]
                              spids: [56714]
                            )
                            (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: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [56727 56741]
                                      )
                                    }
                                  spids: [56726]
                                )
                              ]
                              spids: [56726]
                            )
                          ]
                          spids: [16777215 56593]
                        )
                      ]
                      spids: [16777215 56744]
                    )
                    (AndOr
                      ops: [Op_DPipe]
                      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: [56792]
                                        )
                                      ]
                                      spids: [56792]
                                    )
                                  ]
                                  spids: [56774 56776 56795 16777215]
                                )
                              ]
                              spids: [56767 56771 56798]
                            )
                            (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: [56818]
                                        )
                                      ]
                                      spids: [56818]
                                    )
                                    (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: [56836]
                                        )
                                      ]
                                      spids: [56836]
                                    )
                                  ]
                                  spids: [56812 56815 56839 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:exeext)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [56845]
                                        )
                                      ]
                                      spids: [56845]
                                    )
                                  ]
                                  spids: [56842 56843 56847 16777215]
                                )
                              ]
                              spids: [56805 56809 56850]
                            )
                            (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: [56887]
                                        )
                                      ]
                                      spids: [56887]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:output_path)
                                          op: Equal
                                          rhs: {($ VSub_Name '$func_dirname_result')}
                                          spids: [56891]
                                        )
                                      ]
                                      spids: [56891]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:cwrappersource)
                                          op: Equal
                                          rhs: 
                                            {($ VSub_Name '$output_path') (/) ($ VSub_Name '$objdir') 
                                              (/lt-) ($ VSub_Name '$output_name') (.c)
                                            }
                                          spids: [56895]
                                        )
                                      ]
                                      spids: [56895]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:cwrapper)
                                          op: Equal
                                          rhs: 
                                            {($ VSub_Name '$output_path') (/) 
                                              ($ VSub_Name '$output_name') (.exe)
                                            }
                                          spids: [56904]
                                        )
                                      ]
                                      spids: [56904]
                                    )
                                    (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: <Redir_Great '>'>
                                          fd: 16777215
                                          arg_word: {($ VSub_Name '$cwrappersource')}
                                        )
                                      ]
                                    )
                                    (AndOr
                                      ops: [Op_DPipe]
                                      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: [56966]
                                        )
                                      ]
                                    )
                                    (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
                                      ops: [Op_DPipe]
                                      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: <Redir_Great '>'>
                                                          fd: 16777215
                                                          arg_word: 
                                                            {
                                                              ($ VSub_Name 
'$func_ltwrapper_scriptname_result'
                                                              )
                                                            }
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  spids: [16777215 57048]
                                                )
                                              ]
                                              else_action: [
                                                (SimpleCommand
                                                  words: [{(func_emit_wrapper)} {(no)}]
                                                  redirects: [
                                                    (Redir
                                                      op: <Redir_Great '>'>
                                                      fd: 16777215
                                                      arg_word: 
                                                        {
                                                          ($ VSub_Name 
'$func_ltwrapper_scriptname_result'
                                                          )
                                                        }
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [57060 57072]
                                            )
                                          ]
                                          spids: [57024]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [56860 56870 57078 16777215]
                                )
                                (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: <Redir_Great '>'>
                                          fd: 16777215
                                          arg_word: {($ VSub_Name '$output')}
                                        )
                                      ]
                                    )
                                    (C {(chmod)} {(Lit_Other '+') (x)} {($ VSub_Name '$output')})
                                  ]
                                  spids: [57081 57083 57126 16777215]
                                )
                              ]
                              spids: [56853 56857 57129]
                            )
                          ]
                          spids: [56756]
                        )
                      ]
                    )
                    (ControlFlow
                      token: <ControlFlow_Exit exit>
                      arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
                    )
                  ]
                  spids: [54191 54192 57140 16777215]
                )
              ]
              spids: [43637 43641 57143]
            )
            (ForEach
              iter_name: oldlib
              iter_words: [{($ VSub_Name '$oldlibs')}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name '$build_libtool_libs')}
                      arms: [
                        (case_arm
                          pat_list: [{(convenience)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldobjs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$libobjs_save') (' ') 
                                        ($ VSub_Name '$symfileobj')
                                      )
                                    }
                                  spids: [57175]
                                )
                              ]
                              spids: [57175]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:addlibs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$convenience')}
                                  spids: [57183]
                                )
                              ]
                              spids: [57183]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_libtool_libs)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [57187]
                                )
                              ]
                              spids: [57187]
                            )
                          ]
                          spids: [57171 57172 57191 16777215]
                        )
                        (case_arm
                          pat_list: [{(module)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldobjs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$libobjs_save')}
                                  spids: [57198]
                                )
                              ]
                              spids: [57198]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:addlibs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$old_convenience')}
                                  spids: [57202]
                                )
                              ]
                              spids: [57202]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_libtool_libs)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [57206]
                                )
                              ]
                              spids: [57206]
                            )
                          ]
                          spids: [57194 57195 57210 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          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: [57217]
                                )
                              ]
                              spids: [57217]
                            )
                            (AndOr
                              ops: [Op_DAmp Op_DAmp]
                              children: [
                                (C {($ VSub_Name '$preload')})
                                (C {(test)} {(-f)} {(DQ ($ VSub_Name '$symfileobj'))})
                                (C {(func_append)} {(oldobjs)} {(DQ (' ') ($ VSub_Name '$symfileobj'))})
                              ]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:addlibs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$old_convenience')}
                                  spids: [57251]
                                )
                              ]
                              spids: [57251]
                            )
                          ]
                          spids: [57213 57214 57255 16777215]
                        )
                      ]
                      spids: [57164 57168 57258]
                    )
                    (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: 
                                    {($ VSub_Name '$output_objdir') (/) (${ VSub_Name outputname) (x)}
                                  spids: [57276]
                                )
                              ]
                              spids: [57276]
                            )
                            (C {(func_append)} {(generated)} {(DQ (' ') ($ VSub_Name '$gentop'))})
                            (C {(func_extract_archives)} {($ VSub_Name '$gentop')} 
                              {($ VSub_Name '$addlibs')}
                            )
                            (C {(func_append)} {(oldobjs)} 
                              {(DQ (' ') ($ VSub_Name '$func_extract_archives_result'))}
                            )
                          ]
                          spids: [16777215 57273]
                        )
                      ]
                      spids: [16777215 57313]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  ops: [Op_DAmp]
                                  children: [
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$old_archive_from_new_cmds'))})
                                    (C {(test)} {(yes)} {(Lit_Other '=')} 
                                      {(DQ ($ VSub_Name '$build_libtool_libs'))}
                                    )
                                  ]
                                )
                              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: [57347]
                                )
                              ]
                              spids: [57347]
                            )
                          ]
                          spids: [16777215 57344]
                        )
                      ]
                      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: 
                                        {($ VSub_Name '$output_objdir') (/) (${ VSub_Name outputname) 
                                          (x)
                                        }
                                      spids: [57373]
                                    )
                                  ]
                                  spids: [57373]
                                )
                                (C {(func_append)} {(generated)} {(DQ (' ') ($ VSub_Name '$gentop'))})
                                (C {(func_extract_archives)} {($ VSub_Name '$gentop')} 
                                  {($ VSub_Name '$dlprefiles')}
                                )
                                (C {(func_append)} {(oldobjs)} 
                                  {(DQ (' ') ($ VSub_Name '$func_extract_archives_result'))}
                                )
                              ]
                              spids: [16777215 57370]
                            )
                          ]
                          spids: [16777215 57410]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (Subshell
                                      child: 
                                        (Pipeline
                                          children: [
                                            (ForEach
                                              iter_name: obj
                                              iter_words: [{($ VSub_Name '$oldobjs')}]
                                              do_arg_iter: F
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (C {(func_basename)} {(DQ ($ VSub_Name '$obj'))})
                                                    (C {($ VSub_Name '$ECHO')} 
                                                      {(DQ ($ VSub_Name '$func_basename_result'))}
                                                    )
                                                  ]
                                                  spids: [57450 57467]
                                                )
                                              spids: [57446 16777215]
                                            )
                                            (C {(sort)})
                                            (SimpleCommand
                                              words: [{(sort)} {(-uc)}]
                                              redirects: [
                                                (Redir
                                                  op: <Redir_Great '>'>
                                                  fd: 16777215
                                                  arg_word: {(/dev/null)}
                                                )
                                                (Redir
                                                  op: <Redir_GreatAnd '2>&'>
                                                  fd: 2
                                                  arg_word: {(1)}
                                                )
                                              ]
                                            )
                                          ]
                                          negated: F
                                        )
                                      spids: [57440 57484]
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [(C {(Lit_Other ':')})]
                              spids: [16777215 57487]
                            )
                          ]
                          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: 
                                    {($ VSub_Name '$output_objdir') (/) (${ VSub_Name outputname) (x)}
                                  spids: [57503]
                                )
                              ]
                              spids: [57503]
                            )
                            (C {(func_append)} {(generated)} {(DQ (' ') ($ VSub_Name '$gentop'))})
                            (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: [57529]
                                )
                              ]
                              spids: [57529]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldobjs)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [57533]
                                )
                              ]
                              spids: [57533]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:counter)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [57536]
                                )
                              ]
                              spids: [57536]
                            )
                            (ForEach
                              iter_name: obj
                              iter_words: [{($ VSub_Name '$save_oldobjs')}]
                              do_arg_iter: F
                              body: 
                                (DoGroup
                                  children: [
                                    (C {(func_basename)} {(DQ ($ VSub_Name '$obj'))})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:objbase)
                                          op: Equal
                                          rhs: {($ VSub_Name '$func_basename_result')}
                                          spids: [57559]
                                        )
                                      ]
                                      spids: [57559]
                                    )
                                    (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: [57579]
                                                )
                                              ]
                                              spids: [57579]
                                            )
                                          ]
                                          spids: [57574 57577 57582 16777215]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (Lit_Other '[') 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar '\\ '>
                                              ) (/) (Lit_Other ']') (DQ ($ VSub_Name '$objbase') (' ')) (Lit_Other '*')
                                            }
                                          ]
                                          action: [
                                            (WhileUntil
                                              keyword: <KW_While 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: [57614]
                                                        )
                                                      ]
                                                      spids: [57614]
                                                    )
                                                    (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: [57630]
                                                        )
                                                      ]
                                                      spids: [57630]
                                                    )
                                                    (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: [57645 57655 57657 16777215]
                                                        )
                                                        (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: [16777215 57678]
                                                                )
                                                              ]
                                                              spids: [16777215 57683]
                                                            )
                                                          ]
                                                          spids: [57660 57661 57685 16777215]
                                                        )
                                                      ]
                                                      spids: [57634 57642 57688]
                                                    )
                                                  ]
                                                  spids: [57603 57691]
                                                )
                                            )
                                            (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')
                                                )
                                              }
                                            )
                                            (C {(func_append)} {(oldobjs)} 
                                              {
                                                (DQ (' ') ($ VSub_Name '$gentop') (/) 
                                                  ($ VSub_Name '$newobj')
                                                )
                                              }
                                            )
                                          ]
                                          spids: [57585 57595 57724 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_append)} {(oldobjs)} 
                                              {(DQ (' ') ($ VSub_Name '$obj'))}
                                            )
                                          ]
                                          spids: [57727 57728 57739 16777215]
                                        )
                                      ]
                                      spids: [57563 57571 57742]
                                    )
                                  ]
                                  spids: [57549 57745]
                                )
                              spids: [57545 16777215]
                            )
                          ]
                          spids: [57493 57748]
                        )
                        (C {(func_to_tool_file)} {(DQ ($ VSub_Name '$oldlib'))} 
                          {(func_convert_file_msys_to_w32)}
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:tool_oldlib)
                              op: Equal
                              rhs: {($ VSub_Name '$func_to_tool_file_result')}
                              spids: [57760]
                            )
                          ]
                          spids: [57760]
                        )
                        (C {(eval)} 
                          {(Lit_VarLike '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: [57781]
                            )
                          ]
                          spids: [57781]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {(test)} {(DQ ($ VSub_Name '$len'))} {(-lt)} 
                                          {(DQ ($ VSub_Name '$max_cmd_len'))}
                                        )
                                        (C {(test)} {(DQ ($ VSub_Name '$max_cmd_len'))} {(-le)} {(-1)})
                                      ]
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:cmds)
                                      op: Equal
                                      rhs: {($ VSub_Name '$old_archive_cmds')}
                                      spids: [57815]
                                    )
                                  ]
                                  spids: [57815]
                                )
                              ]
                              spids: [16777215 57812]
                            )
                            (if_arm
                              cond: [
                                (Sentence
                                  child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$archiver_list_spec'))})
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (C {(func_verbose)} {(DQ ('using command file archive linking...'))})
                                (ForEach
                                  iter_name: obj
                                  iter_words: [{($ VSub_Name '$oldobjs')}]
                                  do_arg_iter: F
                                  body: 
                                    (DoGroup
                                      children: [
                                        (C {(func_to_tool_file)} {(DQ ($ VSub_Name '$obj'))})
                                        (C {($ VSub_Name '$ECHO')} 
                                          {(DQ ($ VSub_Name '$func_to_tool_file_result'))}
                                        )
                                      ]
                                      spids: [57849 57866]
                                    )
                                  redirects: [
                                    (Redir
                                      op: <Redir_Great '>'>
                                      fd: 16777215
                                      arg_word: 
                                        {($ VSub_Name '$output_objdir') (/) ($ VSub_Name '$libname') 
                                          (.libcmd)
                                        }
                                    )
                                  ]
                                  spids: [57845 16777215]
                                )
                                (C {(func_to_tool_file)} 
                                  {
                                    (DQ ($ VSub_Name '$output_objdir') (/) ($ VSub_Name '$libname') 
                                      (.libcmd)
                                    )
                                  }
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:oldobjs)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ (' ') ($ VSub_Name '$archiver_list_spec') 
                                            ($ VSub_Name '$func_to_tool_file_result')
                                          )
                                        }
                                      spids: [57886]
                                    )
                                  ]
                                  spids: [57886]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:cmds)
                                      op: Equal
                                      rhs: {($ VSub_Name '$old_archive_cmds')}
                                      spids: [57894]
                                    )
                                  ]
                                  spids: [57894]
                                )
                              ]
                              spids: [57819 57830]
                            )
                          ]
                          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: [57912]
                                )
                              ]
                              spids: [57912]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:RANLIB)
                                  op: Equal
                                  rhs: {(Lit_Other ':')}
                                  spids: [57916]
                                )
                              ]
                              spids: [57916]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:objlist)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [57920]
                                )
                              ]
                              spids: [57920]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:concat_cmds)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [57923]
                                )
                              ]
                              spids: [57923]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:save_oldobjs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$oldobjs')}
                                  spids: [57926]
                                )
                              ]
                              spids: [57926]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldobjs)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [57930]
                                )
                              ]
                              spids: [57930]
                            )
                            (ForEach
                              iter_name: obj
                              iter_words: [{($ VSub_Name '$save_oldobjs')}]
                              do_arg_iter: F
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:last_oldobj)
                                          op: Equal
                                          rhs: {($ VSub_Name '$obj')}
                                          spids: [57949]
                                        )
                                      ]
                                      spids: [57949]
                                    )
                                  ]
                                  spids: [57946 57953]
                                )
                              spids: [57942 16777215]
                            )
                            (C {(eval)} 
                              {(Lit_VarLike '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: [57972]
                                )
                              ]
                              spids: [57972]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:len)
                                  op: Equal
                                  rhs: {($ VSub_Name '$len0')}
                                  spids: [57976]
                                )
                              ]
                              spids: [57976]
                            )
                            (ForEach
                              iter_name: obj
                              iter_words: [{($ VSub_Name '$save_oldobjs')}]
                              do_arg_iter: F
                              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: [58009]
                                        )
                                      ]
                                      spids: [58009]
                                    )
                                    (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: [16777215 58038]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:oldobjs)
                                              op: Equal
                                              rhs: {($ VSub_Name '$objlist')}
                                              spids: [58051]
                                            )
                                          ]
                                          spids: [58051]
                                        )
                                        (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: [58073]
                                                    )
                                                  ]
                                                  spids: [58073]
                                                )
                                              ]
                                              spids: [16777215 58070]
                                            )
                                          ]
                                          spids: [16777215 58077]
                                        )
                                        (AndOr
                                          ops: [Op_DPipe]
                                          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_TildeLike '~')
                                                    }
                                                  spids: [58090]
                                                )
                                              ]
                                              spids: [58090]
                                            )
                                          ]
                                        )
                                        (C {(eval)} 
                                          {(Lit_VarLike '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: {(EmptyPart)}
                                              spids: [58105]
                                            )
                                          ]
                                          spids: [58105]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:len)
                                              op: Equal
                                              rhs: {($ VSub_Name '$len0')}
                                              spids: [58108]
                                            )
                                          ]
                                          spids: [58108]
                                        )
                                      ]
                                      spids: [58044 58112]
                                    )
                                  ]
                                  spids: [57989 58115]
                                )
                              spids: [57985 16777215]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:RANLIB)
                                  op: Equal
                                  rhs: {($ VSub_Name '$save_RANLIB')}
                                  spids: [58118]
                                )
                              ]
                              spids: [58118]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldobjs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$objlist')}
                                  spids: [58122]
                                )
                              ]
                              spids: [58122]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-z)} {(DQ ($ VSub_Name '$oldobjs'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(eval)} 
                                      {(Lit_VarLike 'cmds=') 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\"'>
                                        ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (concat_cmds) 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\"'>
                                        )
                                      }
                                    )
                                  ]
                                  spids: [16777215 58137]
                                )
                              ]
                              else_action: [
                                (C {(eval)} 
                                  {(Lit_VarLike 'cmds=') 
                                    (EscapedLiteralPart
                                      token: <Lit_EscapedChar '\\"'>
                                    ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (concat_cmds) (Lit_TildeLike '~') 
                                    (EscapedLiteralPart
                                      token: <Lit_EscapedChar '\\$'>
                                    ) (old_archive_cmds) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                  }
                                )
                              ]
                              spids: [58149 58164]
                            )
                          ]
                          spids: [57898 58167]
                        )
                      ]
                      spids: [57351 58170]
                    )
                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name '$cmds'))} {(SQ <'exit $?'>)})
                  ]
                  spids: [57160 58184]
                )
              spids: [57156 57158]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$generated'))})
                (C {(func_show_eval)} {(DQ (${ VSub_Name RM) (r) ($ VSub_Name '$generated'))})
              ]
            )
            (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: {(EmptyPart)}
                          spids: [58228]
                        )
                      ]
                      spids: [58228]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(yes)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$build_old_libs'))})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:old_library)
                              op: Equal
                              rhs: {($ VSub_Name '$libname') (.) ($ VSub_Name '$libext')}
                              spids: [58243]
                            )
                          ]
                          spids: [58243]
                        )
                      ]
                    )
                    (C {(func_verbose)} {(DQ ('creating ') ($ VSub_Name '$output'))})
                    (ForEach
                      iter_name: var
                      iter_words: [{($ VSub_Name '$variables_saved_for_relink')}]
                      do_arg_iter: F
                      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: [58295]
                                        )
                                      ]
                                      spids: [58295]
                                    )
                                  ]
                                  spids: [16777215 58292]
                                )
                                (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: [58338]
                                        )
                                      ]
                                      spids: [58338]
                                    )
                                  ]
                                  spids: [58317 58335]
                                )
                              ]
                              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: [58358]
                                    )
                                  ]
                                  spids: [58358]
                                )
                              ]
                              spids: [58348 58370]
                            )
                          ]
                          spids: [58271 58373]
                        )
                      spids: [58267 58269]
                    )
                    (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: [58383 58385]
                                ) ('; ') ($ VSub_Name '$SHELL') (' ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                ($ VSub_Name '$progpath') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' ') ($ VSub_Name '$preserve_args') 
                                (' --mode=relink ') ($ VSub_Name '$libtool_args') (' @inst_prefix_dir@)')
                              )
                            }
                          spids: [58380]
                        )
                      ]
                      spids: [58380]
                    )
                    (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: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [58401 58415]
                              )
                            }
                          spids: [58400]
                        )
                      ]
                      spids: [58400]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(yes)} {(Lit_Other '=')} 
                                  {(DQ ($ VSub_Name '$hardcode_automatic'))}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:relink_command)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [58434]
                                )
                              ]
                              spids: [58434]
                            )
                          ]
                          spids: [16777215 58431]
                        )
                      ]
                      spids: [16777215 58437]
                    )
                    (AndOr
                      ops: [Op_DPipe]
                      children: [
                        (C {($ VSub_Name '$opt_dry_run')})
                        (BraceGroup
                          children: [
                            (ForEach
                              iter_name: installed
                              iter_words: [{(no)} {(yes)}]
                              do_arg_iter: F
                              body: 
                                (DoGroup
                                  children: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(yes)} {(Lit_Other '=')} 
                                                  {(DQ ($ VSub_Name '$installed'))}
                                                )
                                              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: [16777215 58493]
                                                )
                                              ]
                                              spids: [16777215 58499]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:output)
                                                  op: Equal
                                                  rhs: 
                                                    {($ VSub_Name '$output_objdir') (/) 
                                                      (${ VSub_Name outputname) (i)
                                                    }
                                                  spids: [58502]
                                                )
                                              ]
                                              spids: [58502]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newdependency_libs)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [58515]
                                                )
                                              ]
                                              spids: [58515]
                                            )
                                            (ForEach
                                              iter_name: deplib
                                              iter_words: [{($ VSub_Name '$dependency_libs')}]
                                              do_arg_iter: F
                                              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: 
                                                                    {
                                                                      ($ VSub_Name 
'$func_basename_result'
                                                                      )
                                                                    }
                                                                  spids: [58549]
                                                                )
                                                              ]
                                                              spids: [58549]
                                                            )
                                                            (C {(func_resolve_sysroot)} 
                                                              {(DQ ($ VSub_Name '$deplib'))}
                                                            )
                                                            (C {(eval)} 
                                                              {(Lit_VarLike 'libdir=') 
                                                                (CommandSubPart
                                                                  command_list: 
                                                                    (CommandList
                                                                      children: [
                                                                        (C {($ VSub_Name '$SED')} 
                                                                          {(-n)} {(-e)} {(SQ <'s/^libdir=\\(.*\\)$/\\1/p'>)} {($ VSub_Name '$func_resolve_sysroot_result')}
                                                                        )
                                                                      ]
                                                                    )
                                                                  left_token: <Left_Backtick '`'>
                                                                  spids: [58563 58575]
                                                                )
                                                              }
                                                            )
                                                            (AndOr
                                                              ops: [Op_DAmp]
                                                              children: [
                                                                (C {(test)} {(-z)} 
                                                                  {(DQ ($ VSub_Name '$libdir'))}
                                                                )
                                                                (C {(func_fatal_error)} 
                                                                  {
                                                                    (DQ ("'") ($ VSub_Name '$deplib') 
                                                                      (
"' is not a valid libtool archive"
                                                                      )
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                            )
                                                            (C {(func_append)} {(newdependency_libs)} 
                                                              {
                                                                (DQ (' ') 
                                                                  (BracedVarSub
                                                                    token: <VSub_Name lt_sysroot>
                                                                    suffix_op: 
                                                                      (StringUnary
                                                                        op_id: VTest_ColonPlus
                                                                        arg_word: {('=')}
                                                                      )
                                                                    spids: [58605 58609]
                                                                  ) ($ VSub_Name '$libdir') (/) ($ VSub_Name '$name')
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [58537 58539 58616 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(-L) (Lit_Other '*')}]
                                                          action: [
                                                            (C {(func_stripname)} {(-L)} {(SQ )} 
                                                              {(DQ ($ VSub_Name '$deplib'))}
                                                            )
                                                            (C {(func_replace_sysroot)} 
                                                              {
                                                                (DQ 
                                                                  ($ VSub_Name 
'$func_stripname_result'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(func_append)} {(newdependency_libs)} 
                                                              {
                                                                (DQ (' -L') 
                                                                  ($ VSub_Name 
'$func_replace_sysroot_result'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [58619 58621 58653 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(-R) (Lit_Other '*')}]
                                                          action: [
                                                            (C {(func_stripname)} {(-R)} {(SQ )} 
                                                              {(DQ ($ VSub_Name '$deplib'))}
                                                            )
                                                            (C {(func_replace_sysroot)} 
                                                              {
                                                                (DQ 
                                                                  ($ VSub_Name 
'$func_stripname_result'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(func_append)} {(newdependency_libs)} 
                                                              {
                                                                (DQ (' -R') 
                                                                  ($ VSub_Name 
'$func_replace_sysroot_result'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [58656 58658 58690 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (C {(func_append)} {(newdependency_libs)} 
                                                              {(DQ (' ') ($ VSub_Name '$deplib'))}
                                                            )
                                                          ]
                                                          spids: [58693 58694 58705 16777215]
                                                        )
                                                      ]
                                                      spids: [58530 58534 58708]
                                                    )
                                                  ]
                                                  spids: [58527 58711]
                                                )
                                              spids: [58523 58525]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dependency_libs)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$newdependency_libs')}
                                                  spids: [58714]
                                                )
                                              ]
                                              spids: [58714]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newdlfiles)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [58718]
                                                )
                                              ]
                                              spids: [58718]
                                            )
                                            (ForEach
                                              iter_name: lib
                                              iter_words: [{($ VSub_Name '$dlfiles')}]
                                              do_arg_iter: F
                                              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: 
                                                                    {
                                                                      ($ VSub_Name 
'$func_basename_result'
                                                                      )
                                                                    }
                                                                  spids: [58753]
                                                                )
                                                              ]
                                                              spids: [58753]
                                                            )
                                                            (C {(eval)} 
                                                              {(Lit_VarLike 'libdir=') 
                                                                (CommandSubPart
                                                                  command_list: 
                                                                    (CommandList
                                                                      children: [
                                                                        (C {($ VSub_Name '$SED')} 
                                                                          {(-n)} {(-e)} {(SQ <'s/^libdir=\\(.*\\)$/\\1/p'>)} {($ VSub_Name '$lib')}
                                                                        )
                                                                      ]
                                                                    )
                                                                  left_token: <Left_Backtick '`'>
                                                                  spids: [58760 58772]
                                                                )
                                                              }
                                                            )
                                                            (AndOr
                                                              ops: [Op_DAmp]
                                                              children: [
                                                                (C {(test)} {(-z)} 
                                                                  {(DQ ($ VSub_Name '$libdir'))}
                                                                )
                                                                (C {(func_fatal_error)} 
                                                                  {
                                                                    (DQ ("'") ($ VSub_Name '$lib') 
                                                                      (
"' is not a valid libtool archive"
                                                                      )
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                            )
                                                            (C {(func_append)} {(newdlfiles)} 
                                                              {
                                                                (DQ (' ') 
                                                                  (BracedVarSub
                                                                    token: <VSub_Name lt_sysroot>
                                                                    suffix_op: 
                                                                      (StringUnary
                                                                        op_id: VTest_ColonPlus
                                                                        arg_word: {('=')}
                                                                      )
                                                                    spids: [58802 58806]
                                                                  ) ($ VSub_Name '$libdir') (/) ($ VSub_Name '$name')
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [58741 58743 58813 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (C {(func_append)} {(newdlfiles)} 
                                                              {(DQ (' ') ($ VSub_Name '$lib'))}
                                                            )
                                                          ]
                                                          spids: [58816 58817 58828 16777215]
                                                        )
                                                      ]
                                                      spids: [58734 58738 58831]
                                                    )
                                                  ]
                                                  spids: [58731 58834]
                                                )
                                              spids: [58727 58729]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dlfiles)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$newdlfiles')}
                                                  spids: [58837]
                                                )
                                              ]
                                              spids: [58837]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newdlprefiles)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [58841]
                                                )
                                              ]
                                              spids: [58841]
                                            )
                                            (ForEach
                                              iter_name: lib
                                              iter_words: [{($ VSub_Name '$dlprefiles')}]
                                              do_arg_iter: F
                                              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: 
                                                                    {
                                                                      ($ VSub_Name 
'$func_basename_result'
                                                                      )
                                                                    }
                                                                  spids: [58891]
                                                                )
                                                              ]
                                                              spids: [58891]
                                                            )
                                                            (C {(eval)} 
                                                              {(Lit_VarLike 'libdir=') 
                                                                (CommandSubPart
                                                                  command_list: 
                                                                    (CommandList
                                                                      children: [
                                                                        (C {($ VSub_Name '$SED')} 
                                                                          {(-n)} {(-e)} {(SQ <'s/^libdir=\\(.*\\)$/\\1/p'>)} {($ VSub_Name '$lib')}
                                                                        )
                                                                      ]
                                                                    )
                                                                  left_token: <Left_Backtick '`'>
                                                                  spids: [58898 58910]
                                                                )
                                                              }
                                                            )
                                                            (AndOr
                                                              ops: [Op_DAmp]
                                                              children: [
                                                                (C {(test)} {(-z)} 
                                                                  {(DQ ($ VSub_Name '$libdir'))}
                                                                )
                                                                (C {(func_fatal_error)} 
                                                                  {
                                                                    (DQ ("'") ($ VSub_Name '$lib') 
                                                                      (
"' is not a valid libtool archive"
                                                                      )
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                            )
                                                            (C {(func_append)} {(newdlprefiles)} 
                                                              {
                                                                (DQ (' ') 
                                                                  (BracedVarSub
                                                                    token: <VSub_Name lt_sysroot>
                                                                    suffix_op: 
                                                                      (StringUnary
                                                                        op_id: VTest_ColonPlus
                                                                        arg_word: {('=')}
                                                                      )
                                                                    spids: [58940 58944]
                                                                  ) ($ VSub_Name '$libdir') (/) ($ VSub_Name '$name')
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [58863 58865 58951 16777215]
                                                        )
                                                      ]
                                                      spids: [58856 58860 58954]
                                                    )
                                                  ]
                                                  spids: [58853 58957]
                                                )
                                              spids: [58849 58851]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dlprefiles)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$newdlprefiles')}
                                                  spids: [58960]
                                                )
                                              ]
                                              spids: [58960]
                                            )
                                          ]
                                          spids: [16777215 58479]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:newdlfiles)
                                              op: Equal
                                              rhs: {(EmptyPart)}
                                              spids: [58967]
                                            )
                                          ]
                                          spids: [58967]
                                        )
                                        (ForEach
                                          iter_name: lib
                                          iter_words: [{($ VSub_Name '$dlfiles')}]
                                          do_arg_iter: F
                                          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: {($ VSub_Name '$lib')}
                                                              spids: [59008]
                                                            )
                                                          ]
                                                          spids: [59008]
                                                        )
                                                      ]
                                                      spids: [58989 59006 59011 16777215]
                                                    )
                                                    (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: [59018 59020]
                                                                  ) (DQ (/) ($ VSub_Name '$lib'))
                                                                }
                                                              spids: [59017]
                                                            )
                                                          ]
                                                          spids: [59017]
                                                        )
                                                      ]
                                                      spids: [59014 59015 59026 16777215]
                                                    )
                                                  ]
                                                  spids: [58982 58986 59029]
                                                )
                                                (C {(func_append)} {(newdlfiles)} 
                                                  {(DQ (' ') ($ VSub_Name '$abs'))}
                                                )
                                              ]
                                              spids: [58979 59042]
                                            )
                                          spids: [58975 58977]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:dlfiles)
                                              op: Equal
                                              rhs: {($ VSub_Name '$newdlfiles')}
                                              spids: [59045]
                                            )
                                          ]
                                          spids: [59045]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:newdlprefiles)
                                              op: Equal
                                              rhs: {(EmptyPart)}
                                              spids: [59049]
                                            )
                                          ]
                                          spids: [59049]
                                        )
                                        (ForEach
                                          iter_name: lib
                                          iter_words: [{($ VSub_Name '$dlprefiles')}]
                                          do_arg_iter: F
                                          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: {($ VSub_Name '$lib')}
                                                              spids: [59090]
                                                            )
                                                          ]
                                                          spids: [59090]
                                                        )
                                                      ]
                                                      spids: [59071 59088 59093 16777215]
                                                    )
                                                    (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: [59100 59102]
                                                                  ) (DQ (/) ($ VSub_Name '$lib'))
                                                                }
                                                              spids: [59099]
                                                            )
                                                          ]
                                                          spids: [59099]
                                                        )
                                                      ]
                                                      spids: [59096 59097 59108 16777215]
                                                    )
                                                  ]
                                                  spids: [59064 59068 59111]
                                                )
                                                (C {(func_append)} {(newdlprefiles)} 
                                                  {(DQ (' ') ($ VSub_Name '$abs'))}
                                                )
                                              ]
                                              spids: [59061 59124]
                                            )
                                          spids: [59057 59059]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:dlprefiles)
                                              op: Equal
                                              rhs: {($ VSub_Name '$newdlprefiles')}
                                              spids: [59127]
                                            )
                                          ]
                                          spids: [59127]
                                        )
                                      ]
                                      spids: [58964 59131]
                                    )
                                    (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: [59175]
                                        )
                                      ]
                                      spids: [59175]
                                    )
                                    (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)} {(-n)} {(DQ ($ VSub_Name '$bindir'))})
                                                      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: [59271]
                                                        )
                                                      ]
                                                      spids: [59271]
                                                    )
                                                  ]
                                                  spids: [16777215 59257]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:tdlname)
                                                      op: Equal
                                                      rhs: {(../bin/) ($ VSub_Name '$dlname')}
                                                      spids: [59284]
                                                    )
                                                  ]
                                                  spids: [59284]
                                                )
                                              ]
                                              spids: [59277 59289]
                                            )
                                          ]
                                          spids: [59194 59239 59292 16777215]
                                        )
                                      ]
                                      spids: [59179 59191 59295]
                                    )
                                    (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 '$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 cannot 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: <Redir_Great '>'>
                                          fd: 16777215
                                          arg_word: {($ VSub_Name '$output')}
                                        )
                                      ]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(no) (Lit_Comma ',') (yes)} 
                                                  {(Lit_Other '=')} {(DQ ($ VSub_Name '$installed') (',') ($ VSub_Name '$need_relink'))}
                                                )
                                              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: <Redir_DGreat '>>'>
                                                  fd: 16777215
                                                  arg_word: {($ VSub_Name '$output')}
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [16777215 59405]
                                        )
                                      ]
                                      spids: [16777215 59423]
                                    )
                                  ]
                                  spids: [58463 59426]
                                )
                              spids: [58457 58461]
                            )
                          ]
                          spids: [58449]
                        )
                      ]
                    )
                    (C {(func_show_eval)} 
                      {
                        (SQ 
                          <
'( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )'
                          >
                        )
                      } {(SQ <'exit $?'>)}
                    )
                  ]
                  spids: [58223 58225 59452 16777215]
                )
              ]
              spids: [58216 58220 59455]
            )
            (ControlFlow
              token: <ControlFlow_Exit exit>
              arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
            )
          ]
          spids: [28759]
        )
      spids: [28754 28758]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(test)} {(link)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$opt_mode'))})
                    (C {(test)} {(relink)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$opt_mode'))})
                  ]
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(func_mode_link)} 
              {
                (BracedVarSub
                  token: <VSub_Number 1>
                  suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                  spids: [59495 59501]
                )
              }
            )
          ]
          spids: [16777215 59490]
        )
      ]
      spids: [16777215 59503]
    )
    (FuncDef
      name: func_mode_uninstall
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:RM)
                  op: Equal
                  rhs: {($ VSub_Name '$nonopt')}
                  spids: [59522]
                )
              ]
              spids: [59522]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:files) op:Equal rhs:{(EmptyPart)} spids:[59526])]
              spids: [59526]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:rmforce) op:Equal rhs:{(false)} spids:[59529])]
              spids: [59529]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:exit_status) op:Equal rhs:{(0)} spids:[59533])]
              spids: [59533]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libtool_install_magic)
                  op: Equal
                  rhs: {($ VSub_Name '$magic')}
                  spids: [59546]
                )
              ]
              spids: [59546]
            )
            (ForEach
              iter_name: arg
              do_arg_iter: T
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name '$arg')}
                      arms: [
                        (case_arm
                          pat_list: [{(-f)}]
                          action: [
                            (Sentence
                              child: (C {(func_append)} {(RM)} {(DQ (' ') ($ VSub_Name '$arg'))})
                              terminator: <Op_Semi ';'>
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:rmforce)
                                  op: Equal
                                  rhs: {(Lit_Other ':')}
                                  spids: [59579]
                                )
                              ]
                              spids: [59579]
                            )
                          ]
                          spids: [59566 59567 59582 16777215]
                        )
                        (case_arm
                          pat_list: [{(-) (Lit_Other '*')}]
                          action: [(C {(func_append)} {(RM)} {(DQ (' ') ($ VSub_Name '$arg'))})]
                          spids: [59585 59587 59598 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [(C {(func_append)} {(files)} {(DQ (' ') ($ VSub_Name '$arg'))})]
                          spids: [59601 59602 59613 16777215]
                        )
                      ]
                      spids: [59559 59563 59616]
                    )
                  ]
                  spids: [59556 59619]
                )
              spids: [16777215 16777215]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(test)} {(-z)} {(DQ ($ VSub_Name '$RM'))})
                (C {(func_fatal_help)} {(DQ ('you must specify an RM program'))})
              ]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:rmdirs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [59643]
                )
              ]
              spids: [59643]
            )
            (ForEach
              iter_name: file
              iter_words: [{($ VSub_Name '$files')}]
              do_arg_iter: F
              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: {($ VSub_Name '$func_dirname_result')}
                          spids: [59673]
                        )
                      ]
                      spids: [59673]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(.)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$dir'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:odir)
                                  op: Equal
                                  rhs: {($ VSub_Name '$objdir')}
                                  spids: [59693]
                                )
                              ]
                              spids: [59693]
                            )
                          ]
                          spids: [16777215 59690]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:odir)
                              op: Equal
                              rhs: {($ VSub_Name '$dir') (/) ($ VSub_Name '$objdir')}
                              spids: [59700]
                            )
                          ]
                          spids: [59700]
                        )
                      ]
                      spids: [59697 59706]
                    )
                    (C {(func_basename)} {(DQ ($ VSub_Name '$file'))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:name)
                          op: Equal
                          rhs: {($ VSub_Name '$func_basename_result')}
                          spids: [59716]
                        )
                      ]
                      spids: [59716]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(uninstall)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$opt_mode'))})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:odir)
                              op: Equal
                              rhs: {($ VSub_Name '$dir')}
                              spids: [59732]
                            )
                          ]
                          spids: [59732]
                        )
                      ]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(clean)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$opt_mode'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Case
                              to_match: {(DQ (' ') ($ VSub_Name '$rmdirs') (' '))}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$odir') (' ')) 
                                      (Lit_Other '*')
                                    }
                                  ]
                                  spids: [59768 59775 59777 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(func_append)} {(rmdirs)} {(DQ (' ') ($ VSub_Name '$odir'))})
                                  ]
                                  spids: [59780 59781 59792 16777215]
                                )
                              ]
                              spids: [59757 59765 59795]
                            )
                          ]
                          spids: [16777215 59754]
                        )
                      ]
                      spids: [16777215 59798]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  ops: [Op_DPipe Op_DPipe]
                                  children: [
                                    (BraceGroup
                                      children: [
                                        (Sentence
                                          child: (C {(test)} {(-L)} {(DQ ($ VSub_Name '$file'))})
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      redirects: [
                                        (Redir
                                          op: <Redir_Great '>'>
                                          fd: 16777215
                                          arg_word: {(/dev/null)}
                                        )
                                        (Redir
                                          op: <Redir_GreatAnd '2>&'>
                                          fd: 2
                                          arg_word: {(1)}
                                        )
                                      ]
                                      spids: [59808]
                                    )
                                    (BraceGroup
                                      children: [
                                        (Sentence
                                          child: (C {(test)} {(-h)} {(DQ ($ VSub_Name '$file'))})
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      redirects: [
                                        (Redir
                                          op: <Redir_Great '>'>
                                          fd: 16777215
                                          arg_word: {(/dev/null)}
                                        )
                                        (Redir
                                          op: <Redir_GreatAnd '2>&'>
                                          fd: 2
                                          arg_word: {(1)}
                                        )
                                      ]
                                      spids: [59830]
                                    )
                                    (C {(test)} {(-f)} {(DQ ($ VSub_Name '$file'))})
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(Lit_Other ':')})]
                          spids: [16777215 59861]
                        )
                        (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: [59881]
                                )
                              ]
                              spids: [59881]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [59867 59878]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {($ VSub_Name '$rmforce')})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                          spids: [59888 59893]
                        )
                      ]
                      spids: [16777215 59899]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rmfiles)
                          op: Equal
                          rhs: {($ VSub_Name '$file')}
                          spids: [59903]
                        )
                      ]
                      spids: [59903]
                    )
                    (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: F
                                      body: 
                                        (DoGroup
                                          children: [
                                            (C {(func_append)} {(rmfiles)} 
                                              {
                                                (DQ (' ') ($ VSub_Name '$odir') (/) ($ VSub_Name '$n'))
                                              }
                                            )
                                          ]
                                          spids: [59957 59972]
                                        )
                                      spids: [59953 59955]
                                    )
                                    (AndOr
                                      ops: [Op_DAmp]
                                      children: [
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$old_library'))})
                                        (C {(func_append)} {(rmfiles)} 
                                          {
                                            (DQ (' ') ($ VSub_Name '$odir') (/) 
                                              ($ VSub_Name '$old_library')
                                            )
                                          }
                                        )
                                      ]
                                    )
                                    (Case
                                      to_match: {($ VSub_Name '$opt_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: [60020 60027 60029 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (AndOr
                                                      ops: [Op_DAmp]
                                                      children: [
                                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$dlname'))})
                                                        (C {(func_append)} {(rmfiles)} 
                                                          {
                                                            (DQ (' ') ($ VSub_Name '$odir') (/) 
                                                              ($ VSub_Name '$dlname')
                                                            )
                                                          }
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  spids: [60032 60033 60056 16777215]
                                                )
                                              ]
                                              spids: [60009 60017 60059]
                                            )
                                            (AndOr
                                              ops: [Op_DAmp]
                                              children: [
                                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$libdir'))})
                                                (C {(func_append)} {(rmfiles)} 
                                                  {
                                                    (DQ (' ') ($ VSub_Name '$odir') (/) 
                                                      ($ VSub_Name '$name') (' ') ($ VSub_Name '$odir') (/) (${ VSub_Name name) (i)
                                                    )
                                                  }
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [60005 60006 60091 16777215]
                                        )
                                        (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 <'$rmforce || exit_status=1'>)}
                                                    )
                                                  ]
                                                  spids: [16777215 60109]
                                                )
                                              ]
                                              spids: [16777215 60127]
                                            )
                                            (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 <'$rmforce || exit_status=1'>)}
                                                    )
                                                  ]
                                                  spids: [16777215 60142]
                                                )
                                              ]
                                              spids: [16777215 60160]
                                            )
                                          ]
                                          spids: [60094 60095 60167 16777215]
                                        )
                                      ]
                                      spids: [59998 60002 60170]
                                    )
                                  ]
                                  spids: [16777215 59933]
                                )
                              ]
                              spids: [16777215 60173]
                            )
                          ]
                          spids: [59915 59917 60176 16777215]
                        )
                        (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
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$pic_object'))})
                                                    (C {(test)} {(none)} {(KW_Bang '!') (Lit_Other '=')} 
                                                      {(DQ ($ VSub_Name '$pic_object'))}
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_append)} {(rmfiles)} 
                                              {
                                                (DQ (' ') ($ VSub_Name '$dir') (/) 
                                                  ($ VSub_Name '$pic_object')
                                                )
                                              }
                                            )
                                          ]
                                          spids: [16777215 60242]
                                        )
                                      ]
                                      spids: [16777215 60257]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$non_pic_object'))}
                                                    )
                                                    (C {(test)} {(none)} {(KW_Bang '!') (Lit_Other '=')} 
                                                      {(DQ ($ VSub_Name '$non_pic_object'))}
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_append)} {(rmfiles)} 
                                              {
                                                (DQ (' ') ($ VSub_Name '$dir') (/) 
                                                  ($ VSub_Name '$non_pic_object')
                                                )
                                              }
                                            )
                                          ]
                                          spids: [16777215 60289]
                                        )
                                      ]
                                      spids: [16777215 60304]
                                    )
                                  ]
                                  spids: [16777215 60198]
                                )
                              ]
                              spids: [16777215 60307]
                            )
                          ]
                          spids: [60180 60182 60310 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(clean)} {(Lit_Other '=')} 
                                          {(DQ ($ VSub_Name '$opt_mode'))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:noexename)
                                          op: Equal
                                          rhs: {($ VSub_Name '$name')}
                                          spids: [60334]
                                        )
                                      ]
                                      spids: [60334]
                                    )
                                    (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: [60364]
                                                )
                                              ]
                                              spids: [60364]
                                            )
                                            (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: [60382]
                                                )
                                              ]
                                              spids: [60382]
                                            )
                                            (C {(func_append)} {(rmfiles)} 
                                              {(DQ (' ') ($ VSub_Name '$file'))}
                                            )
                                          ]
                                          spids: [60345 60347 60404 16777215]
                                        )
                                      ]
                                      spids: [60338 60342 60407]
                                    )
                                    (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: {(EmptyPart)}
                                                          spids: [60445]
                                                        )
                                                      ]
                                                      spids: [60445]
                                                    )
                                                    (C {(func_source)} 
                                                      {
                                                        ($ VSub_Name 
'$func_ltwrapper_scriptname_result'
                                                        )
                                                      }
                                                    )
                                                    (C {(func_append)} {(rmfiles)} 
                                                      {
                                                        (DQ (' ') 
                                                          ($ VSub_Name 
'$func_ltwrapper_scriptname_result'
                                                          )
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [16777215 60435]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:relink_command)
                                                      op: Equal
                                                      rhs: {(EmptyPart)}
                                                      spids: [60466]
                                                    )
                                                  ]
                                                  spids: [60466]
                                                )
                                                (C {(func_source)} 
                                                  {($ VSub_Name '$dir') (/) 
                                                    ($ VSub_Name '$noexename')
                                                  }
                                                )
                                              ]
                                              spids: [60463 60476]
                                            )
                                            (C {(func_append)} {(rmfiles)} 
                                              {
                                                (DQ (' ') ($ VSub_Name '$odir') (/) 
                                                  ($ VSub_Name '$name') (' ') ($ VSub_Name '$odir') (/) (${ VSub_Name name) (S.) ($ VSub_Name '$objext')
                                                )
                                              }
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (AndOr
                                                          ops: [Op_DAmp]
                                                          children: [
                                                            (C {(test)} {(yes)} {(Lit_Other '=')} 
                                                              {(DQ ($ VSub_Name '$fast_install'))}
                                                            )
                                                            (C {(test)} {(-n)} 
                                                              {(DQ ($ VSub_Name '$relink_command'))}
                                                            )
                                                          ]
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_append)} {(rmfiles)} 
                                                      {
                                                        (DQ (' ') ($ VSub_Name '$odir') (/lt-) 
                                                          ($ VSub_Name '$name')
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [16777215 60531]
                                                )
                                              ]
                                              spids: [16777215 60546]
                                            )
                                            (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: [
                                                    (C {(func_append)} {(rmfiles)} 
                                                      {
                                                        (DQ (' ') ($ VSub_Name '$odir') (/lt-) 
                                                          ($ VSub_Name '$noexename') (.c)
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [16777215 60567]
                                                )
                                              ]
                                              spids: [16777215 60583]
                                            )
                                          ]
                                          spids: [16777215 60423]
                                        )
                                      ]
                                      spids: [16777215 60586]
                                    )
                                  ]
                                  spids: [16777215 60331]
                                )
                              ]
                              spids: [16777215 60589]
                            )
                          ]
                          spids: [60314 60315 60592 16777215]
                        )
                      ]
                      spids: [59908 59912 60595]
                    )
                    (C {(func_show_eval)} {(DQ ($ VSub_Name '$RM') (' ') ($ VSub_Name '$rmfiles'))} 
                      {(SQ <'exit_status=1'>)}
                    )
                  ]
                  spids: [59656 60611]
                )
              spids: [59652 59654]
            )
            (ForEach
              iter_name: dir
              iter_words: [{($ VSub_Name '$rmdirs')}]
              do_arg_iter: F
              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: [16777215 60642]
                        )
                      ]
                      spids: [16777215 60654]
                    )
                  ]
                  spids: [60628 60657]
                )
              spids: [60624 60626]
            )
            (ControlFlow
              token: <ControlFlow_Exit exit>
              arg_word: {($ VSub_Name '$exit_status')}
            )
          ]
          spids: [59515]
        )
      spids: [59510 59514]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(test)} {(uninstall)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$opt_mode'))})
                    (C {(test)} {(clean)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$opt_mode'))})
                  ]
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(func_mode_uninstall)} 
              {
                (BracedVarSub
                  token: <VSub_Number 1>
                  suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                  spids: [60698 60704]
                )
              }
            )
          ]
          spids: [16777215 60693]
        )
      ]
      spids: [16777215 60706]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (C {(test)} {(-z)} {(DQ ($ VSub_Name '$opt_mode'))})
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:help)
                  op: Equal
                  rhs: {($ VSub_Name '$generic_help')}
                  spids: [60722]
                )
              ]
              spids: [60722]
            )
            (C {(func_fatal_help)} {(DQ ('you must specify a MODE'))})
          ]
          spids: [60719]
        )
      ]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (C {(test)} {(-z)} {(DQ ($ VSub_Name '$exec_cmd'))})
        (C {(func_fatal_help)} {(DQ ("invalid operation mode '") ($ VSub_Name '$opt_mode') ("'"))})
      ]
    )
    (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'))})
            (ControlFlow
              token: <ControlFlow_Exit exit>
              arg_word: {($ VSub_Name '$EXIT_FAILURE')}
            )
          ]
          spids: [16777215 60767]
        )
      ]
      spids: [16777215 60783]
    )
    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{($ VSub_Name '$exit_status')})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:build_libtool_libs) op:Equal rhs:{(no)} spids:[60826])]
      spids: [60826]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:build_old_libs) op:Equal rhs:{(yes)} spids:[60829])]
      spids: [60829]
    )
    (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: [60847 60848 60853 16777215]
                          )
                          (case_arm
                            pat_list: [{(Lit_Other '*')}]
                            action: [(C {(echo)} {(yes)})]
                            spids: [60855 60856 60861 16777215]
                          )
                        ]
                        spids: [60841 60845 60863]
                      )
                    ]
                  )
                left_token: <Left_Backtick '`'>
                spids: [60840 60864]
              )
            }
          spids: [60839]
        )
      ]
      spids: [60839]
    )
  ]
)