(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 ';'>
    )
    (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_id: Redir_Great
                          fd: 16777215
                          arg_word: {(/dev/null)}
                          spids: [341]
                        )
                        (Redir
                          op_id: Redir_GreatAnd
                          fd: 2
                          arg_word: {(1)}
                          spids: [344]
                        )
                      ]
                      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_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[399])]
                        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_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[510])
            (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[513])
          ]
          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_id: Redir_Great
                      fd: 16777215
                      arg_word: {(/dev/null)}
                      spids: [590]
                    )
                    (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[593])
                  ]
                  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_id: Redir_Great
                              fd: 16777215
                              arg_word: {(/dev/null)}
                              spids: [619]
                            )
                            (Redir
                              op_id: Redir_GreatAnd
                              fd: 2
                              arg_word: {(1)}
                              spids: [622]
                            )
                          ]
                          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_id: Redir_GreatAnd
                                                        fd: 2
                                                        arg_word: {(1)}
                                                        spids: [852]
                                                      )
                                                    ]
                                                  )
                                                ]
                                              )
                                            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_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[934])]
                    )
                    (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_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[1024])]
                )
                (SimpleCommand
                  words: [{(sed)} {(99q)}]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(conftest.sed)}
                      spids: [1033]
                    )
                  ]
                )
              ]
              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_id: Redir_Great
                          fd: 16777215
                          arg_word: {(conftest.in)}
                          spids: [1063]
                        )
                      ]
                    )
                    (While
                      cond: [(C {(Lit_Other ':')})]
                      body: 
                        (DoGroup
                          children: [
                            (SimpleCommand
                              words: [{(cat)} {(conftest.in)} {(conftest.in)}]
                              redirects: [
                                (Redir
                                  op_id: Redir_Great
                                  fd: 16777215
                                  arg_word: {(conftest.tmp)}
                                  spids: [1081]
                                )
                              ]
                            )
                            (C {(mv)} {(conftest.tmp)} {(conftest.in)})
                            (C {(cp)} {(conftest.in)} {(conftest.nl)})
                            (SimpleCommand
                              words: [{(echo)} {(SQ )}]
                              redirects: [
                                (Redir
                                  op_id: Redir_DGreat
                                  fd: 16777215
                                  arg_word: {(conftest.nl)}
                                  spids: [1104]
                                )
                              ]
                            )
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (SimpleCommand
                                  words: [{(DQ ($ VSub_Name '$_G_path_prog'))} {(-f)} {(conftest.sed)}]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Less
                                      fd: 16777215
                                      arg_word: {(conftest.nl)}
                                      spids: [1117]
                                    )
                                    (Redir
                                      op_id: Redir_Great
                                      fd: 16777215
                                      arg_word: {(conftest.out)}
                                      spids: [1120]
                                    )
                                    (Redir
                                      op_id: Redir_Great
                                      fd: 2
                                      arg_word: {(/dev/null)}
                                      spids: [1123]
                                    )
                                  ]
                                )
                                (ControlFlow
                                  token: <ControlFlow_Break break>
                                )
                              ]
                            )
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (SimpleCommand
                                  words: [{(diff)} {(conftest.out)} {(conftest.nl)}]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: 16777215
                                      arg_word: {(/dev/null)}
                                      spids: [1137]
                                    )
                                    (Redir
                                      op_id: Redir_GreatAnd
                                      fd: 2
                                      arg_word: {(1)}
                                      spids: [1140]
                                    )
                                  ]
                                )
                                (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_id: Redir_Great
                          fd: 16777215
                          arg_word: {(conftest.in)}
                          spids: [1304]
                        )
                      ]
                    )
                    (While
                      cond: [(C {(Lit_Other ':')})]
                      body: 
                        (DoGroup
                          children: [
                            (SimpleCommand
                              words: [{(cat)} {(conftest.in)} {(conftest.in)}]
                              redirects: [
                                (Redir
                                  op_id: Redir_Great
                                  fd: 16777215
                                  arg_word: {(conftest.tmp)}
                                  spids: [1322]
                                )
                              ]
                            )
                            (C {(mv)} {(conftest.tmp)} {(conftest.in)})
                            (C {(cp)} {(conftest.in)} {(conftest.nl)})
                            (SimpleCommand
                              words: [{(echo)} {(SQ <GREP>)}]
                              redirects: [
                                (Redir
                                  op_id: Redir_DGreat
                                  fd: 16777215
                                  arg_word: {(conftest.nl)}
                                  spids: [1346]
                                )
                              ]
                            )
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (SimpleCommand
                                  words: [
                                    {(DQ ($ VSub_Name '$_G_path_prog'))}
                                    {(-e)}
                                    {(SQ <'GREP$'>)}
                                    {(-e)}
                                    {(SQ <'-(cannot match)-'>)}
                                  ]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Less
                                      fd: 16777215
                                      arg_word: {(conftest.nl)}
                                      spids: [1367]
                                    )
                                    (Redir
                                      op_id: Redir_Great
                                      fd: 16777215
                                      arg_word: {(conftest.out)}
                                      spids: [1370]
                                    )
                                    (Redir
                                      op_id: Redir_Great
                                      fd: 2
                                      arg_word: {(/dev/null)}
                                      spids: [1373]
                                    )
                                  ]
                                )
                                (ControlFlow
                                  token: <ControlFlow_Break break>
                                )
                              ]
                            )
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (SimpleCommand
                                  words: [{(diff)} {(conftest.out)} {(conftest.nl)}]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: 16777215
                                      arg_word: {(/dev/null)}
                                      spids: [1387]
                                    )
                                    (Redir
                                      op_id: Redir_GreatAnd
                                      fd: 2
                                      arg_word: {(1)}
                                      spids: [1390]
                                    )
                                  ]
                                )
                                (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_id: Redir_Great
                                                fd: 2
                                                arg_word: {(/dev/null)}
                                                spids: [2359]
                                              )
                                            ]
                                          )
                                        ]
                                      )
                                    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_id: Redir_Great
                                                        fd: 2
                                                        arg_word: {(/dev/null)}
                                                        spids: [2387]
                                                      )
                                                    ]
                                                  )
                                                ]
                                              )
                                            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_id: Redir_Great
                                                        fd: 2
                                                        arg_word: {(/dev/null)}
                                                        spids: [2416]
                                                      )
                                                    ]
                                                  )
                                                ]
                                              )
                                            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_id: Redir_Great
                                                        fd: 2
                                                        arg_word: {(/dev/null)}
                                                        spids: [2443]
                                                      )
                                                    ]
                                                  )
                                                ]
                                              )
                                            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_id: Redir_Great
                                                        fd: 2
                                                        arg_word: {(/dev/null)}
                                                        spids: [2472]
                                                      )
                                                    ]
                                                  )
                                                ]
                                              )
                                            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_id: Redir_Great
                                                        fd: 2
                                                        arg_word: {(/dev/null)}
                                                        spids: [2501]
                                                      )
                                                    ]
                                                  )
                                                ]
                                              )
                                            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_id: Redir_Great
                                                        fd: 2
                                                        arg_word: {(/dev/null)}
                                                        spids: [2530]
                                                      )
                                                    ]
                                                  )
                                                ]
                                              )
                                            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_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[2745])]
          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_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[3046])]
          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_id: Redir_GreatAnd
                          fd: 16777215
                          arg_word: {(2)}
                          spids: [3619]
                        )
                      ]
                    )
                    (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_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[3678])]
            )
          ]
          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_id: Redir_Great
                  fd: 16777215
                  arg_word: {(/dev/null)}
                  spids: [3752]
                )
                (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[3755])
              ]
            )
          ]
          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_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[3796])]
          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_id: Redir_Great
                                            fd: 2
                                            arg_word: {(/dev/null)}
                                            spids: [3864]
                                          )
                                        ]
                                      )
                                      (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]
                    )
                    (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_id: Redir_Great
                                      fd: 2
                                      arg_word: {(/dev/null)}
                                      spids: [4115]
                                    )
                                  ]
                                )
                                (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_id: Redir_Great
                                        fd: 2
                                        arg_word: {(/dev/null)}
                                        spids: [4250]
                                      )
                                    ]
                                  )
                                ]
                              )
                            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: [16777215 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]
            )
            (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: [16777215 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]
            )
            (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]
            )
            (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_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[6192])]
            )
          ]
          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]
            )
            (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_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[8377])]
          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_id: Redir_Less
                  fd: 16777215
                  arg_word: {(DQ ($ VSub_Name '$progpath'))}
                  spids: [8708]
                )
              ]
            )
            (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_id: Redir_Less
                  fd: 16777215
                  arg_word: {(DQ ($ VSub_Name '$progpath'))}
                  spids: [8794]
                )
              ]
            )
            (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_id: Redir_Great
                                    fd: 2
                                    arg_word: {(/dev/null)}
                                    spids: [9074]
                                  )
                                ]
                                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_id: Redir_Great
                                    fd: 2
                                    arg_word: {(/dev/null)}
                                    spids: [9091]
                                  )
                                ]
                                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_id: Redir_Less
                  fd: 16777215
                  arg_word: {(DQ ($ VSub_Name '$progpath'))}
                  spids: [9366]
                )
              ]
            )
            (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_id: Redir_Less
                          fd: 16777215
                          arg_word: {(DQ ($ VSub_Name '$progpath'))}
                          spids: [9408]
                        )
                      ]
                    )
                  ]
                  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_id: Redir_Great
                                      fd: 16777215
                                      arg_word: {(/dev/null)}
                                      spids: [9666]
                                    )
                                    (Redir
                                      op_id: Redir_GreatAnd
                                      fd: 2
                                      arg_word: {(1)}
                                      spids: [9669]
                                    )
                                  ]
                                )
                              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_id: Redir_Less
                                                    fd: 16777215
                                                    arg_word: {(DQ ($ VSub_Name '$progpath'))}
                                                    spids: [9713]
                                                  )
                                                ]
                                              )
                                            ]
                                          )
                                        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_id: Redir_GreatAnd
                                          fd: 16777215
                                          arg_word: {(2)}
                                          spids: [9825]
                                        )
                                        (HereDoc
                                          op_id: Redir_DLess
                                          fd: 16777215
                                          body: 
                                            {
                                              (DQ ($ VSub_Name '$progname') 
                                                (': Version mismatch error.  This is ') ($ VSub_Name '$PACKAGE') (' ') ($ VSub_Name '$VERSION') (', but the\n') ($ VSub_Name '$progname') 
                                                (
': definition of this LT_INIT comes from an older release.\n'
                                                ) ($ VSub_Name '$progname') (': You should recreate aclocal.m4 with macros from ') 
                                                ($ VSub_Name '$PACKAGE') (' ') ($ VSub_Name '$VERSION') ('\n') ($ VSub_Name '$progname') (': and run autoconf again.\n')
                                              )
                                            }
                                          do_expansion: True
                                          here_end: _LT_EOF
                                          was_filled: T
                                          spids: [9828]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16777215 9820]
                                )
                              ]
                              else_action: [
                                (SimpleCommand
                                  words: [{(cat)}]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_GreatAnd
                                      fd: 16777215
                                      arg_word: {(2)}
                                      spids: [9854]
                                    )
                                    (HereDoc
                                      op_id: Redir_DLess
                                      fd: 16777215
                                      body: 
                                        {
                                          (DQ ($ VSub_Name '$progname') 
                                            (': Version mismatch error.  This is ') ($ VSub_Name '$PACKAGE') (' ') ($ VSub_Name '$VERSION') (', but the\n') ($ VSub_Name '$progname') 
                                            (': definition of this LT_INIT comes from ') ($ VSub_Name '$PACKAGE') (' ') ($ VSub_Name '$macro_version') ('.\n') ($ VSub_Name '$progname') 
                                            (': You should recreate aclocal.m4 with macros from ') ($ VSub_Name '$PACKAGE') (' ') ($ VSub_Name '$VERSION') ('\n') ($ VSub_Name '$progname') 
                                            (': and run autoconf again.\n')
                                          )
                                        }
                                      do_expansion: True
                                      here_end: _LT_EOF
                                      was_filled: T
                                      spids: [9857]
                                    )
                                  ]
                                )
                              ]
                              spids: [9849 9882]
                            )
                          ]
                          spids: [16777215 9806]
                        )
                      ]
                      else_action: [
                        (SimpleCommand
                          words: [{(cat)}]
                          redirects: [
                            (Redir
                              op_id: Redir_GreatAnd
                              fd: 16777215
                              arg_word: {(2)}
                              spids: [9890]
                            )
                            (HereDoc
                              op_id: Redir_DLess
                              fd: 16777215
                              body: 
                                {
                                  (DQ ($ VSub_Name '$progname') 
                                    (': Version mismatch error.  This is ') ($ VSub_Name '$PACKAGE') (' ') ($ VSub_Name '$VERSION') (', revision ') ($ VSub_Name '$package_revision') 
                                    (',\n') ($ VSub_Name '$progname') (': but the definition of this LT_INIT comes from revision ') 
                                    ($ VSub_Name '$macro_revision') ('.\n') ($ VSub_Name '$progname') (': You should recreate aclocal.m4 with macros from revision ') 
                                    ($ VSub_Name '$package_revision') ('\n') ($ VSub_Name '$progname') (': of ') ($ VSub_Name '$PACKAGE') (' ') ($ VSub_Name '$VERSION') 
                                    (' and run autoconf again.\n')
                                  )
                                }
                              do_expansion: True
                              here_end: _LT_EOF
                              was_filled: T
                              spids: [9893]
                            )
                          ]
                        )
                      ]
                      spids: [9885 9920]
                    )
                    (ControlFlow
                      token: <ControlFlow_Exit exit>
                      arg_word: {($ VSub_Name '$EXIT_MISMATCH')}
                    )
                  ]
                  spids: [16777215 9787]
                )
              ]
              spids: [16777215 9929]
            )
          ]
          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:[9960])]
              spids: [9960]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:opt_dlopen)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [9964]
                )
              ]
              spids: [9964]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:opt_dry_run)
                  op: Equal
                  rhs: {(false)}
                  spids: [9967]
                )
              ]
              spids: [9967]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:opt_help) op:Equal rhs:{(false)} spids:[9971])]
              spids: [9971]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:opt_mode)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [9975]
                )
              ]
              spids: [9975]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:opt_preserve_dup_deps)
                  op: Equal
                  rhs: {(false)}
                  spids: [9978]
                )
              ]
              spids: [9978]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:opt_quiet) op:Equal rhs:{(false)} spids:[9982])]
              spids: [9982]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:nonopt) op:Equal rhs:{(EmptyPart)} spids:[9987])]
              spids: [9987]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:preserve_args)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [9990]
                )
              ]
              spids: [9990]
            )
            (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: [10026 10032]
                            )
                          }
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (C {(shift)})
                  ]
                  spids: [10005 10012 10038 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: [10068 10074]
                            )
                          }
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (C {(shift)})
                  ]
                  spids: [10041 10054 10080 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: [10110 10116]
                            )
                          }
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (C {(shift)})
                  ]
                  spids: [10083 10096 10122 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: [10150 10156]
                            )
                          }
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (C {(shift)})
                  ]
                  spids: [10125 10136 10162 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: [10192 10198]
                            )
                          }
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (C {(shift)})
                  ]
                  spids: [10165 10178 10204 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: [10228 10234]
                            )
                          }
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (C {(shift)})
                  ]
                  spids: [10207 10214 10240 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: [10274 10280]
                            )
                          }
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (C {(shift)})
                  ]
                  spids: [10243 10260 10286 16777215]
                )
              ]
              spids: [9998 10002 10289]
            )
            (C {(func_quote_for_eval)} 
              {
                (BracedVarSub
                  token: <VSub_Number 1>
                  suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                  spids: [10299 10305]
                )
              }
            )
            (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: [10308]
                )
              ]
              spids: [10308]
            )
          ]
          spids: [9949]
        )
      spids: [9944 9948]
    )
    (C {(func_add_hook)} {(func_options_prep)} {(libtool_options_prep)})
    (FuncDef
      name: libtool_parse_options
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (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: [10364]
                        )
                      ]
                      spids: [10364]
                    )
                    (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: [10386]
                                )
                              ]
                              spids: [10386]
                            )
                          ]
                          spids: [10378 10383 10390 16777215]
                        )
                        (case_arm
                          pat_list: [{(--config)}]
                          action: [(C {(func_config)})]
                          spids: [10394 10395 10399 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: [10411 10416]
                                        ) ($ VSub_Number '$1')
                                      )
                                    }
                                  spids: [10409]
                                )
                              ]
                              spids: [10409]
                            )
                            (C {(shift)})
                          ]
                          spids: [10403 10406 10424 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: [10432]
                                )
                              ]
                              spids: [10432]
                            )
                          ]
                          spids: [10428 10429 10435 16777215]
                        )
                        (case_arm
                          pat_list: [{(--features)}]
                          action: [(C {(func_features)})]
                          spids: [10439 10440 10444 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: [10459 10465]
                                    )
                                  }
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (C {(shift)})
                          ]
                          spids: [10448 10449 10470 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: [10477]
                                )
                              ]
                              spids: [10477]
                            )
                          ]
                          spids: [10474 10475 10480 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: [10487]
                                )
                              ]
                              spids: [10487]
                            )
                          ]
                          spids: [10484 10485 10492 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: [10518]
                                )
                              ]
                              spids: [10518]
                            )
                            (Case
                              to_match: {($ VSub_Number '$1')}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(clean)}
                                    {(compile)}
                                    {(execute)}
                                    {(finish)}
                                    {(install)}
                                    {(link)}
                                    {(relink)}
                                    {(uninstall)}
                                  ]
                                  spids: [10533 10548 10550 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: [10569]
                                        )
                                      ]
                                      spids: [10569]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Break break>
                                    )
                                  ]
                                  spids: [10558 10559 10576 16777215]
                                )
                              ]
                              spids: [10522 10526 10579]
                            )
                            (C {(shift)})
                          ]
                          spids: [10496 10497 10585 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: [10595]
                                )
                              ]
                              spids: [10595]
                            )
                            (C {(func_append)} {(preserve_args)} {(DQ (' ') ($ VSub_Name '$_G_opt'))})
                          ]
                          spids: [10589 10592 10609 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: [10621]
                                )
                              ]
                              spids: [10621]
                            )
                            (C {(func_append)} {(preserve_args)} {(DQ (' ') ($ VSub_Name '$_G_opt'))})
                          ]
                          spids: [10613 10618 10635 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: [10643]
                                )
                              ]
                              spids: [10643]
                            )
                            (C {(func_append)} {(preserve_args)} {(DQ (' ') ($ VSub_Name '$_G_opt'))})
                          ]
                          spids: [10639 10640 10657 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: [10667]
                                )
                              ]
                              spids: [10667]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:opt_verbose)
                                  op: Equal
                                  rhs: {(false)}
                                  spids: [10671]
                                )
                              ]
                              spids: [10671]
                            )
                            (C {(func_append)} {(preserve_args)} {(DQ (' ') ($ VSub_Name '$_G_opt'))})
                          ]
                          spids: [10661 10664 10685 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: [10711]
                                )
                              ]
                              spids: [10711]
                            )
                            (C {(func_append)} {(preserve_args)} 
                              {(DQ (' ') ($ VSub_Name '$_G_opt') (' ') ($ VSub_Number '$1'))}
                            )
                            (C {(func_enable_tag)} {(DQ ($ VSub_Number '$1'))})
                            (C {(shift)})
                          ]
                          spids: [10689 10690 10737 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: [10746]
                                )
                              ]
                              spids: [10746]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:opt_verbose)
                                  op: Equal
                                  rhs: {(Lit_Other ':')}
                                  spids: [10750]
                                )
                              ]
                              spids: [10750]
                            )
                            (C {(func_append)} {(preserve_args)} {(DQ (' ') ($ VSub_Name '$_G_opt'))})
                          ]
                          spids: [10741 10744 10764 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: [10783 10789]
                                    )
                                  }
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (Sentence
                              child: (C {(shift)})
                              terminator: <Op_Semi ';'>
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [10772 10773 10797 16777215]
                        )
                      ]
                      spids: [10371 10375 10800]
                    )
                  ]
                  spids: [10361 10803]
                )
            )
            (C {(func_quote_for_eval)} 
              {
                (BracedVarSub
                  token: <VSub_Number 1>
                  suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                  spids: [10814 10820]
                )
              }
            )
            (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: [10823]
                )
              ]
              spids: [10823]
            )
          ]
          spids: [10335]
        )
      spids: [10330 10334]
    )
    (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: [10875]
                        )
                      ]
                      spids: [10875]
                    )
                    (C {(shift)})
                  ]
                  spids: [16777215 10872]
                )
              ]
              spids: [16777215 10882]
            )
            (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: [10967]
                        )
                      ]
                      spids: [10967]
                    )
                  ]
                  spids: [10927 10960 10971 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: [10978]
                        )
                      ]
                      spids: [10978]
                    )
                  ]
                  spids: [10974 10975 10982 16777215]
                )
              ]
              spids: [10912 10916 10985]
            )
            (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_id: Redir_GreatAnd
                                  fd: 1
                                  arg_word: {(2)}
                                  spids: [11099]
                                )
                              ]
                            )
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {($ VSub_Name '$EXIT_FAILURE')}
                            )
                          ]
                          spids: [16777215 11083]
                        )
                      ]
                      spids: [16777215 11108]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:generic_help)
                          op: Equal
                          rhs: {($ VSub_Name '$help')}
                          spids: [11116]
                        )
                      ]
                      spids: [11116]
                    )
                    (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: [11120]
                        )
                      ]
                      spids: [11120]
                    )
                  ]
                  spids: [10993]
                )
              ]
            )
            (C {(func_quote_for_eval)} 
              {
                (BracedVarSub
                  token: <VSub_Number 1>
                  suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                  spids: [11140 11146]
                )
              }
            )
            (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: [11149]
                )
              ]
              spids: [11149]
            )
          ]
          spids: [10854]
        )
      spids: [10849 10853]
    )
    (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: [11170 11176]
        )
      }
    )
    (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: [11204]
        )
      ]
      spids: [11204]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:magic_exe)
          op: Equal
          rhs: {(SQ <'%%%MAGIC EXE variable%%%'>)}
          spids: [11209]
        )
      ]
      spids: [11209]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:extracted_archives)
          op: Equal
          rhs: {(EmptyPart)}
          spids: [11218]
        )
      ]
      spids: [11218]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:extracted_serial) op:Equal rhs:{(0)} spids:[11220])]
      spids: [11220]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:exec_cmd) op:Equal rhs:{(EmptyPart)} spids:[11233])]
      spids: [11233]
    )
    (FuncDef
      name: func_fallback_echo
      body: 
        (BraceGroup
          children: [(C {(eval)} {(SQ <'cat <<_LTECHO_EOF\n'> <'$1\n'> <_LTECHO_EOF>)})]
          spids: [11245]
        )
      spids: [11240 11244]
    )
    (FuncDef
      name: func_generated_by_libtool_p
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [{($ VSub_Name '$GREP')} {(DQ ('^# Generated by .*') ($ VSub_Name '$PACKAGE'))}]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: 16777215
                  arg_word: {(/dev/null)}
                  spids: [11283]
                )
                (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[11287])
              ]
            )
          ]
          spids: [11273]
        )
      spids: [11268 11272]
    )
    (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_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[11334])]
                    )
                    (C {(func_generated_by_libtool_p)})
                  ]
                  negated: F
                )
              ]
            )
          ]
          spids: [11310]
        )
      spids: [11305 11309]
    )
    (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:[11373])]
              spids: [11373]
            )
            (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_id: Redir_LessAnd
                                  fd: 5
                                  arg_word: {(0)}
                                  spids: [11401]
                                )
                                (Redir
                                  op_id: Redir_Less
                                  fd: 16777215
                                  arg_word: {(DQ ($ VSub_Number '$1'))}
                                  spids: [11404]
                                )
                              ]
                            )
                          ]
                        )
                      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: [11455]
                                            )
                                          ]
                                          spids: [11455]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Break break>
                                    )
                                  ]
                                  spids: [11443 11453 11460 16777215]
                                )
                              ]
                              spids: [11436 11440 11463]
                            )
                          ]
                          spids: [11428 11466]
                        )
                      spids: [11418 16777215]
                    )
                    (SimpleCommand
                      words: [{(exec)}]
                      redirects: [
                        (Redir
                          op_id: Redir_LessAnd
                          fd: 0
                          arg_word: {(5)}
                          spids: [11471]
                        )
                        (Redir
                          op_id: Redir_LessAnd
                          fd: 5
                          arg_word: {(-)}
                          spids: [11474]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 11410]
                )
              ]
              spids: [16777215 11478]
            )
            (C {(test)} {(yes)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$lalib_p'))})
          ]
          spids: [11370]
        )
      spids: [11365 11369]
    )
    (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_id: Redir_Less
                          fd: 16777215
                          arg_word: {(DQ ($ VSub_Number '$1'))}
                          spids: [11527]
                        )
                        (Redir
                          op_id: Redir_Great
                          fd: 2
                          arg_word: {(/dev/null)}
                          spids: [11533]
                        )
                      ]
                    )
                    (C {(func_generated_by_libtool_p)})
                  ]
                  negated: F
                )
              ]
            )
          ]
          spids: [11511]
        )
      spids: [11506 11510]
    )
    (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: [11563]
                )
              ]
              spids: [11563]
            )
            (Case
              to_match: {($ VSub_Number '$1')}
              arms: [
                (case_arm
                  pat_list: [{(Lit_Other '*') (.exe)}]
                  spids: [11573 11575 11577 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: [11583]
                        )
                      ]
                      spids: [11583]
                    )
                  ]
                  spids: [11580 11581 11586 16777215]
                )
              ]
              spids: [11566 11570 11589]
            )
            (SimpleCommand
              words: [
                {($ VSub_Name '$GREP')}
                {(DQ ($ VSub_Name '$magic_exe'))}
                {(DQ ($ VSub_Number '$1') ($ VSub_Name '$func_ltwrapper_exec_suffix'))}
              ]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: 16777215
                  arg_word: {(/dev/null)}
                  spids: [11603]
                )
                (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[11606])
              ]
            )
          ]
          spids: [11560]
        )
      spids: [11555 11559]
    )
    (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: [11660]
                )
              ]
              spids: [11660]
            )
          ]
          spids: [11629]
        )
      spids: [11624 11628]
    )
    (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: [11690]
        )
      spids: [11685 11689]
    )
    (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: [11735]
                    )
                  ]
                  spids: [11735]
                )
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{(SQ <'~'>)} spids:[11739])]
              spids: [11739]
            )
            (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: [11757]
                        )
                      ]
                      spids: [11757]
                    )
                    (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: [11770]
                        )
                      ]
                      spids: [11770]
                    )
                    (C {(func_show_eval)} {(DQ ($ VSub_Name '$cmd'))} 
                      {
                        (DQ 
                          (BracedVarSub
                            token: <VSub_Number 2>
                            suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(':')})
                            spids: [11781 11785]
                          )
                        )
                      }
                    )
                  ]
                  spids: [11754 11789]
                )
              spids: [11750 11752]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:IFS)
                  op: Equal
                  rhs: {($ VSub_Name '$save_ifs')}
                  spids: [11792]
                )
              ]
              spids: [11792]
            )
          ]
          spids: [11728]
        )
      spids: [11723 11727]
    )
    (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: [11836 11845 11853 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [(C {(.)} {(DQ (./) ($ VSub_Number '$1'))})]
                  spids: [11856 11857 11866 16777215]
                )
              ]
              spids: [11829 11833 11869]
            )
          ]
          spids: [11822]
        )
      spids: [11817 11821]
    )
    (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: [11892]
                )
              ]
              spids: [11892]
            )
            (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: [11922]
                        )
                      ]
                      spids: [11922]
                    )
                  ]
                  spids: [11903 11905 11927 16777215]
                )
              ]
              spids: [11896 11900 11930]
            )
          ]
          spids: [11889]
        )
      spids: [11884 11888]
    )
    (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: [11985]
                        )
                      ]
                      spids: [11985]
                    )
                  ]
                  spids: [11961 11968 11992 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: [12003]
                        )
                      ]
                      spids: [12003]
                    )
                  ]
                  spids: [11995 11996 12007 16777215]
                )
              ]
              spids: [11952 11958 12010]
            )
          ]
          spids: [11949]
        )
      spids: [11944 11948]
    )
    (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: [12069]
                        )
                      ]
                      spids: [12069]
                    )
                    (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: [12081 12093]
                        )
                      spids: [12077 12079]
                    )
                    (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: [12097 12101]
                              )
                            }
                          spids: [12096]
                        )
                      ]
                      spids: [12096]
                    )
                    (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: [12105 12109]
                              )
                            }
                          spids: [12104]
                        )
                      ]
                      spids: [12104]
                    )
                    (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: [12128 12193 12195 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_id: Redir_Less
                                                      fd: 16777215
                                                      arg_word: {(DQ ($ VSub_Name '$progpath'))}
                                                      spids: [12232]
                                                    )
                                                    (Redir
                                                      op_id: Redir_Great
                                                      fd: 16777215
                                                      arg_word: {(/dev/null)}
                                                      spids: [12238]
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(eval)} 
                                              {
                                                (DQ 
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (SimpleCommand
                                                            words: [
                                                              {($ VSub_Name '$SED')}
                                                              {(-n)}
                                                              {(-e)}
                                                              {
                                                                (SQ 
                                                                  <
'/^# ### BEGIN LIBTOOL TAG CONFIG: '
                                                                  >
                                                                ) ($ VSub_Name '$z') (SQ <'$/,/^# ### END LIBTOOL TAG CONFIG: '>) ($ VSub_Name '$z') (SQ <'$/p'>)
                                                              }
                                                            ]
                                                            redirects: [
                                                              (Redir
                                                                op_id: Redir_Less
                                                                fd: 16777215
                                                                arg_word: {($ VSub_Name '$progpath')}
                                                                spids: [12272]
                                                              )
                                                            ]
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick '`'>
                                                    spids: [12253 12275]
                                                  )
                                                )
                                              }
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:CC_quoted)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [12279]
                                                )
                                              ]
                                              spids: [12279]
                                            )
                                            (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: [12291 12307]
                                                )
                                              spids: [12287 12289]
                                            )
                                            (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: [12311 12315]
                                                      )
                                                    }
                                                  spids: [12310]
                                                )
                                              ]
                                              spids: [12310]
                                            )
                                            (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: [12319 12323]
                                                      )
                                                    }
                                                  spids: [12318]
                                                )
                                              ]
                                              spids: [12318]
                                            )
                                            (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: [12417]
                                                        )
                                                      ]
                                                      spids: [12417]
                                                    )
                                                    (ControlFlow
                                                      token: <ControlFlow_Break break>
                                                    )
                                                  ]
                                                  spids: [12337 12402 12424 16777215]
                                                )
                                              ]
                                              spids: [12326 12333 12427]
                                            )
                                          ]
                                          spids: [16777215 12243]
                                        )
                                      ]
                                      spids: [16777215 12430]
                                    )
                                  ]
                                  spids: [12219 12433]
                                )
                              spids: [12215 12217]
                            )
                            (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 12459]
                                )
                              ]
                              spids: [16777215 12482]
                            )
                          ]
                          spids: [12206 12207 12485 16777215]
                        )
                      ]
                      spids: [12112 12116 12488]
                    )
                  ]
                  spids: [16777215 12066]
                )
              ]
              spids: [16777215 12491]
            )
          ]
          spids: [12038]
        )
      spids: [12033 12037]
    )
    (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: [12515]
                )
              ]
              spids: [12515]
            )
            (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: [12535]
                        )
                      ]
                      spids: [12535]
                    )
                  ]
                  spids: [16777215 12532]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:write_lobj)
                      op: Equal
                      rhs: {(none)}
                      spids: [12544]
                    )
                  ]
                  spids: [12544]
                )
              ]
              spids: [12541 12548]
            )
            (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: [12568]
                        )
                      ]
                      spids: [12568]
                    )
                  ]
                  spids: [16777215 12565]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:write_oldobj)
                      op: Equal
                      rhs: {(none)}
                      spids: [12577]
                    )
                  ]
                  spids: [12577]
                )
              ]
              spids: [12574 12581]
            )
            (AndOr
              ops: [Op_DPipe]
              children: [
                (C {($ VSub_Name '$opt_dry_run')})
                (BraceGroup
                  children: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: 16777215
                          arg_word: {(${ VSub_Name write_libobj) (T)}
                          spids: [12594]
                        )
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ('# ') ($ 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')
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: T
                          spids: [12600]
                        )
                      ]
                    )
                    (C {($ VSub_Name '$MV')} {(DQ (${ VSub_Name write_libobj) (T))} 
                      {(DQ ($ VSub_Name '$write_libobj'))}
                    )
                  ]
                  spids: [12589]
                )
              ]
            )
          ]
          spids: [12512]
        )
      spids: [12507 12511]
    )
    (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: [12698]
                )
              ]
              spids: [12698]
            )
            (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_id: Redir_Great
                                            fd: 2
                                            arg_word: {(/dev/null)}
                                            spids: [12746]
                                          )
                                        ]
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [12737 12748]
                              )
                            }
                          spids: [12736]
                        )
                      ]
                      spids: [12736]
                    )
                    (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: [12778 12795]
                                      )
                                    }
                                  spids: [12777]
                                )
                              ]
                              spids: [12777]
                            )
                          ]
                          spids: [16777215 12774]
                        )
                      ]
                      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: [12801]
                            )
                          ]
                          spids: [12801]
                        )
                      ]
                      spids: [12798 12804]
                    )
                  ]
                  spids: [16777215 12713]
                )
              ]
              spids: [16777215 12807]
            )
          ]
          spids: [12691]
        )
      spids: [12686 12690]
    )
    (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: [12862]
                )
              ]
              spids: [12862]
            )
            (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: [12879]
                        )
                      ]
                      spids: [12879]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {(Lit_Other ':')}
                          spids: [12883]
                        )
                      ]
                      spids: [12883]
                    )
                    (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: [12899]
                                )
                              ]
                              spids: [12899]
                            )
                            (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: [12938]
                                                )
                                              ]
                                              spids: [12938]
                                            )
                                          ]
                                          spids: [16777215 12935]
                                        )
                                      ]
                                      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: [12942 12955]
                                    )
                                  ]
                                  spids: [16777215 12921]
                                )
                              ]
                              spids: [16777215 12958]
                            )
                          ]
                          spids: [12896 12961]
                        )
                      spids: [12892 12894]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {($ VSub_Name '$oldIFS')}
                          spids: [12964]
                        )
                      ]
                      spids: [12964]
                    )
                  ]
                  spids: [16777215 12876]
                )
              ]
              spids: [16777215 12968]
            )
          ]
          spids: [12851]
        )
      spids: [12846 12850]
    )
    (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_id: Redir_Great
                                            fd: 2
                                            arg_word: {(/dev/null)}
                                            spids: [13066]
                                          )
                                        ]
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [13059 13068]
                              )
                            }
                          spids: [13058]
                        )
                      ]
                      spids: [13058]
                    )
                    (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: [13091]
                                )
                              ]
                              spids: [13091]
                            )
                          ]
                          spids: [16777215 13084]
                        )
                      ]
                      spids: [16777215 13094]
                    )
                  ]
                  spids: [16777215 13055]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:func_cygpath_result)
                      op: Equal
                      rhs: {(EmptyPart)}
                      spids: [13100]
                    )
                  ]
                  spids: [13100]
                )
                (C {(func_error)} 
                  {
                    (DQ ("LT_CYGPATH is empty or specifies non-existent file: '") 
                      ($ VSub_Name '$LT_CYGPATH') ("'")
                    )
                  }
                )
              ]
              spids: [13097 13112]
            )
          ]
          spids: [13027]
        )
      spids: [13022 13026]
    )
    (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_id: Redir_Great
                                        fd: 2
                                        arg_word: {(/dev/null)}
                                        spids: [13162]
                                      )
                                    ]
                                    spids: [13148 13160]
                                  )
                                  (C {($ VSub_Name '$SED')} {(-e)} {(SQ <'s/[ ]*$//'>)} {(-e)} 
                                    {(DQ ($ VSub_Name '$sed_naive_backslashify'))}
                                  )
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [13147 13181]
                      )
                    }
                  spids: [13146]
                )
              ]
              spids: [13146]
            )
          ]
          spids: [13135]
        )
      spids: [13130 13134]
    )
    (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: [13265]
                        )
                      ]
                      spids: [13265]
                    )
                  ]
                  spids: [16777215 13235]
                )
              ]
              spids: [16777215 13269]
            )
          ]
          spids: [13207]
        )
      spids: [13202 13206]
    )
    (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: [13378]
                                )
                              ]
                              spids: [13378]
                            )
                            (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: [13389 13406]
                                      )
                                    }
                                  spids: [13388]
                                )
                              ]
                              spids: [13388]
                            )
                          ]
                          spids: [16777215 13375]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:func_to_host_path_result)
                              op: Equal
                              rhs: {($ VSub_Number '$3')}
                              spids: [13412]
                            )
                          ]
                          spids: [13412]
                        )
                      ]
                      spids: [13409 13416]
                    )
                  ]
                  spids: [16777215 13323]
                )
              ]
              spids: [16777215 13419]
            )
          ]
          spids: [13295]
        )
      spids: [13290 13294]
    )
    (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: [13460]
                        )
                      ]
                      spids: [13460]
                    )
                  ]
                  spids: [13456 13458 13465 16777215]
                )
              ]
              spids: [13449 13453 13468]
            )
            (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: [13478 13480 13491 16777215]
                )
              ]
              spids: [13471 13475 13494]
            )
          ]
          spids: [13442]
        )
      spids: [13437 13441]
    )
    (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: [13540]
        )
      spids: [13535 13539]
    )
    (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: [13603]
                        )
                      ]
                      spids: [13603]
                    )
                  ]
                  spids: [13593 13600 13607 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: [13621]
                        )
                      ]
                      spids: [13621]
                    )
                  ]
                  spids: [13610 13611 13625 16777215]
                )
              ]
              spids: [13584 13590 13628]
            )
          ]
          spids: [13577]
        )
      spids: [13572 13576]
    )
    (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: [13651]
                )
              ]
              spids: [13651]
            )
          ]
          spids: [13648]
        )
      spids: [13643 13647]
    )
    (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: [13685]
                )
              ]
              spids: [13685]
            )
            (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: [13710]
                        )
                      ]
                      spids: [13710]
                    )
                  ]
                  spids: [16777215 13700]
                )
              ]
              spids: [16777215 13714]
            )
            (C {(func_convert_file_check)} {(DQ ($ VSub_Number '$1'))} 
              {(DQ ($ VSub_Name '$func_to_host_file_result'))}
            )
          ]
          spids: [13678]
        )
      spids: [13673 13677]
    )
    (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: [13755]
                )
              ]
              spids: [13755]
            )
            (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: [13782 13790]
                              )
                            }
                          spids: [13781]
                        )
                      ]
                      spids: [13781]
                    )
                  ]
                  spids: [16777215 13770]
                )
              ]
              spids: [16777215 13793]
            )
            (C {(func_convert_file_check)} {(DQ ($ VSub_Number '$1'))} 
              {(DQ ($ VSub_Name '$func_to_host_file_result'))}
            )
          ]
          spids: [13748]
        )
      spids: [13743 13747]
    )
    (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: [13834]
                )
              ]
              spids: [13834]
            )
            (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: [13859]
                        )
                      ]
                      spids: [13859]
                    )
                  ]
                  spids: [16777215 13849]
                )
              ]
              spids: [16777215 13863]
            )
            (C {(func_convert_file_check)} {(DQ ($ VSub_Number '$1'))} 
              {(DQ ($ VSub_Name '$func_to_host_file_result'))}
            )
          ]
          spids: [13827]
        )
      spids: [13822 13826]
    )
    (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: [13904]
                )
              ]
              spids: [13904]
            )
            (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: [13938]
                        )
                      ]
                      spids: [13938]
                    )
                  ]
                  spids: [16777215 13919]
                )
              ]
              spids: [16777215 13942]
            )
            (C {(func_convert_file_check)} {(DQ ($ VSub_Number '$1'))} 
              {(DQ ($ VSub_Name '$func_to_host_file_result'))}
            )
          ]
          spids: [13897]
        )
      spids: [13892 13896]
    )
    (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: [13986]
                )
              ]
              spids: [13986]
            )
            (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: [14024]
                        )
                      ]
                      spids: [14024]
                    )
                  ]
                  spids: [16777215 14001]
                )
              ]
              spids: [16777215 14028]
            )
            (C {(func_convert_file_check)} {(DQ ($ VSub_Number '$1'))} 
              {(DQ ($ VSub_Name '$func_to_host_file_result'))}
            )
          ]
          spids: [13979]
        )
      spids: [13974 13978]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:to_host_path_cmd)
          op: Equal
          rhs: {(EmptyPart)}
          spids: [14116]
        )
      ]
      spids: [14116]
    )
    (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: [14158]
                        )
                      ]
                      spids: [14158]
                    )
                  ]
                  spids: [16777215 14141]
                )
              ]
              spids: [16777215 14163]
            )
          ]
          spids: [14123]
        )
      spids: [14118 14122]
    )
    (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: [14183]
        )
      spids: [14178 14182]
    )
    (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: [14220]
                )
              ]
              spids: [14220]
            )
          ]
          spids: [14217]
        )
      spids: [14212 14216]
    )
    (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: [14254]
                )
              ]
              spids: [14254]
            )
            (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: [14295]
                        )
                      ]
                      spids: [14295]
                    )
                    (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: [14306]
                        )
                      ]
                      spids: [14306]
                    )
                    (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 14269]
                )
              ]
              spids: [16777215 14348]
            )
          ]
          spids: [14247]
        )
      spids: [14242 14246]
    )
    (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: [14378]
                )
              ]
              spids: [14378]
            )
            (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: [14411]
                        )
                      ]
                      spids: [14411]
                    )
                    (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: [14416 14426]
                              )
                            }
                          spids: [14415]
                        )
                      ]
                      spids: [14415]
                    )
                    (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 14393]
                )
              ]
              spids: [16777215 14467]
            )
          ]
          spids: [14371]
        )
      spids: [14366 14370]
    )
    (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: [14497]
                )
              ]
              spids: [14497]
            )
            (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: [14530]
                        )
                      ]
                      spids: [14530]
                    )
                    (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: [14541]
                        )
                      ]
                      spids: [14541]
                    )
                    (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 14512]
                )
              ]
              spids: [16777215 14583]
            )
          ]
          spids: [14490]
        )
      spids: [14485 14489]
    )
    (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: [14613]
                )
              ]
              spids: [14613]
            )
            (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: [14646]
                        )
                      ]
                      spids: [14646]
                    )
                    (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: [14668]
                        )
                      ]
                      spids: [14668]
                    )
                    (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 14628]
                )
              ]
              spids: [16777215 14706]
            )
          ]
          spids: [14606]
        )
      spids: [14601 14605]
    )
    (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: [14739]
                )
              ]
              spids: [14739]
            )
            (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: [14780]
                        )
                      ]
                      spids: [14780]
                    )
                    (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: [14802]
                        )
                      ]
                      spids: [14802]
                    )
                    (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 14754]
                )
              ]
              spids: [16777215 14840]
            )
          ]
          spids: [14732]
        )
      spids: [14727 14731]
    )
    (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: [14871 14911]
                      )
                    }
                  spids: [14870]
                )
              ]
              spids: [14870]
            )
            (C {(test)} {(DEF)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$func_dll_def_p_tmp'))})
          ]
          spids: [14863]
        )
      spids: [14858 14862]
    )
    (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: [14947]
                )
              ]
              spids: [14947]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:srcfile)
                  op: Equal
                  rhs: {($ VSub_Name '$nonopt')}
                  spids: [14950]
                )
              ]
              spids: [14950]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:suppress_opt)
                  op: Equal
                  rhs: {(yes)}
                  spids: [14957]
                )
              ]
              spids: [14957]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:suppress_output)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [14961]
                )
              ]
              spids: [14961]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:arg_mode) op:Equal rhs:{(normal)} spids:[14964])]
              spids: [14964]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libobj)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [14968]
                )
              ]
              spids: [14968]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:later) op:Equal rhs:{(EmptyPart)} spids:[14971])]
              spids: [14971]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pie_flag)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [14974]
                )
              ]
              spids: [14974]
            )
            (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: [15002]
                                )
                              ]
                              spids: [15002]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg_mode)
                                  op: Equal
                                  rhs: {(normal)}
                                  spids: [15006]
                                )
                              ]
                              spids: [15006]
                            )
                          ]
                          spids: [14993 14995 15010 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: [15019]
                                )
                              ]
                              spids: [15019]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg_mode)
                                  op: Equal
                                  rhs: {(normal)}
                                  spids: [15023]
                                )
                              ]
                              spids: [15023]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [15014 15016 15030 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: [15073]
                                        )
                                      ]
                                      spids: [15073]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [15050 15051 15080 16777215]
                                )
                                (case_arm
                                  pat_list: [{(-pie)} {(-fpie)} {(-fPIE)}]
                                  action: [
                                    (C {(func_append)} {(pie_flag)} {(DQ (' ') ($ VSub_Name '$arg'))})
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [15084 15093 15109 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: [15113 15126 15142 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: [15150]
                                        )
                                      ]
                                      spids: [15150]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [15146 15147 15157 16777215]
                                )
                                (case_arm
                                  pat_list: [{(-Xcompiler)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:arg_mode)
                                          op: Equal
                                          rhs: {(arg)}
                                          spids: [15165]
                                        )
                                      ]
                                      spids: [15165]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [15161 15162 15178 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: [15205]
                                        )
                                      ]
                                      spids: [15205]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:lastarg)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [15209]
                                        )
                                      ]
                                      spids: [15209]
                                    )
                                    (Sentence
                                      child: 
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:save_ifs)
                                              op: Equal
                                              rhs: {($ VSub_Name '$IFS')}
                                              spids: [15212]
                                            )
                                          ]
                                          spids: [15212]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {(Lit_Comma ',')}
                                          spids: [15216]
                                        )
                                      ]
                                      spids: [15216]
                                    )
                                    (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: [15232]
                                                )
                                              ]
                                              spids: [15232]
                                            )
                                            (C {(func_append_quoted)} {(lastarg)} 
                                              {(DQ ($ VSub_Name '$arg'))}
                                            )
                                          ]
                                          spids: [15229 15245]
                                        )
                                      spids: [15225 15227]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {($ VSub_Name '$save_ifs')}
                                          spids: [15248]
                                        )
                                      ]
                                      spids: [15248]
                                    )
                                    (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: [15266]
                                        )
                                      ]
                                      spids: [15266]
                                    )
                                    (C {(func_append)} {(base_compile)} 
                                      {(DQ (' ') ($ VSub_Name '$lastarg'))}
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [15185 15188 15288 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: [15308]
                                        )
                                      ]
                                      spids: [15308]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:srcfile)
                                          op: Equal
                                          rhs: {($ VSub_Name '$arg')}
                                          spids: [15312]
                                        )
                                      ]
                                      spids: [15312]
                                    )
                                  ]
                                  spids: [15292 15293 15316 16777215]
                                )
                              ]
                              spids: [15043 15047 15319]
                            )
                          ]
                          spids: [15034 15036 15325 16777215]
                        )
                      ]
                      spids: [14986 14990 15328]
                    )
                    (C {(func_append_quoted)} {(base_compile)} {(DQ ($ VSub_Name '$lastarg'))})
                  ]
                  spids: [14983 15348]
                )
              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: [15362 15363 15373 16777215]
                )
                (case_arm
                  pat_list: [{(target)}]
                  action: [(C {(func_fatal_error)} {(DQ ("you must specify a target with '-o'"))})]
                  spids: [15376 15377 15387 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: [15418]
                                )
                              ]
                              spids: [15418]
                            )
                          ]
                          spids: [15408]
                        )
                      ]
                    )
                  ]
                  spids: [15390 15391 15425 16777215]
                )
              ]
              spids: [15355 15359 15428]
            )
            (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: [15567]
                        )
                      ]
                      spids: [15567]
                    )
                  ]
                  spids: [15447 15557 15571 16777215]
                )
              ]
              spids: [15440 15444 15574]
            )
            (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: [15596]
                        )
                      ]
                      spids: [15596]
                    )
                  ]
                  spids: [15585 15587 15599 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (C {(func_fatal_error)} 
                      {
                        (DQ ("cannot determine name of library object from '") ($ VSub_Name '$libobj') 
                          ("'")
                        )
                      }
                    )
                  ]
                  spids: [15602 15603 15615 16777215]
                )
              ]
              spids: [15578 15582 15618]
            )
            (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: [15672]
                                )
                              ]
                              spids: [15672]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [15647 15648 15679 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: [15687]
                                )
                              ]
                              spids: [15687]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_old_libs)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [15691]
                                )
                              ]
                              spids: [15691]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [15683 15684 15698 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: [15706]
                                )
                              ]
                              spids: [15706]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [15702 15703 15713 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: [15721]
                                )
                              ]
                              spids: [15721]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [15717 15718 15728 16777215]
                        )
                      ]
                      spids: [15640 15644 15731]
                    )
                  ]
                  spids: [15637 15734]
                )
              spids: [15633 15635]
            )
            (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: [15812]
                )
              ]
              spids: [15812]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:xdir)
                  op: Equal
                  rhs: {($ VSub_Name '$func_dirname_result')}
                  spids: [15816]
                )
              ]
              spids: [15816]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:lobj)
                  op: Equal
                  rhs: {($ VSub_Name '$xdir') ($ VSub_Name '$objdir') (/) ($ VSub_Name '$objname')}
                  spids: [15820]
                )
              ]
              spids: [15820]
            )
            (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: [15868]
                        )
                      ]
                      spids: [15868]
                    )
                  ]
                  spids: [16777215 15865]
                )
              ]
              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: [15886]
                    )
                  ]
                  spids: [15886]
                )
              ]
              spids: [15883 15899]
            )
            (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: [15939]
                        )
                      ]
                      spids: [15939]
                    )
                  ]
                  spids: [15914 15936 15943 16777215]
                )
              ]
              spids: [15907 15911 15946]
            )
            (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: [15982]
                        )
                      ]
                      spids: [15982]
                    )
                  ]
                  spids: [16777215 15975]
                )
              ]
              spids: [16777215 15986]
            )
            (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: [16015 16029]
                              ) (.) ($ VSub_Name '$objext')
                            }
                          spids: [16014]
                        )
                      ]
                      spids: [16014]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:lockfile)
                          op: Equal
                          rhs: {($ VSub_Name '$output_obj') (.lock)}
                          spids: [16034]
                        )
                      ]
                      spids: [16034]
                    )
                  ]
                  spids: [16777215 16011]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:output_obj)
                      op: Equal
                      rhs: {(EmptyPart)}
                      spids: [16042]
                    )
                  ]
                  spids: [16042]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:need_locks)
                      op: Equal
                      rhs: {(no)}
                      spids: [16045]
                    )
                  ]
                  spids: [16045]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:lockfile)
                      op: Equal
                      rhs: {(EmptyPart)}
                      spids: [16049]
                    )
                  ]
                  spids: [16049]
                )
              ]
              spids: [16039 16052]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(yes)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$need_locks'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (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_id: Redir_Great
                                      fd: 2
                                      arg_word: {(/dev/null)}
                                      spids: [16096]
                                    )
                                  ]
                                )
                              ]
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      body: 
                        (DoGroup
                          children: [
                            (C {(func_echo)} 
                              {(DQ ('Waiting for ') ($ VSub_Name '$lockfile') (' to be removed'))}
                            )
                            (C {(sleep)} {(2)})
                          ]
                          spids: [16100 16117]
                        )
                    )
                  ]
                  spids: [16777215 16077]
                )
                (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_id: Redir_Great
                                                fd: 2
                                                arg_word: {(/dev/null)}
                                                spids: [16162]
                                              )
                                            ]
                                          )
                                        ]
                                      )
                                    left_token: <Left_Backtick '`'>
                                    spids: [16157 16164]
                                  ) ('\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 16147]
                        )
                      ]
                      spids: [16777215 16191]
                    )
                    (C {(func_append)} {(removelist)} {(DQ (' ') ($ VSub_Name '$output_obj'))})
                    (SimpleCommand
                      words: [{($ VSub_Name '$ECHO')} {(DQ ($ VSub_Name '$srcfile'))}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: 16777215
                          arg_word: {(DQ ($ VSub_Name '$lockfile'))}
                          spids: [16210]
                        )
                      ]
                    )
                  ]
                  spids: [16120 16133]
                )
              ]
              spids: [16777215 16217]
            )
            (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: [16263]
                )
              ]
              spids: [16263]
            )
            (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: [16274]
                )
              ]
              spids: [16274]
            )
            (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: [16303]
                        )
                      ]
                      spids: [16303]
                    )
                    (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: [16325]
                                )
                              ]
                              spids: [16325]
                            )
                          ]
                          spids: [16777215 16322]
                        )
                      ]
                      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: [16342]
                            )
                          ]
                          spids: [16342]
                        )
                      ]
                      spids: [16335 16350]
                    )
                    (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 16374]
                        )
                      ]
                      spids: [16777215 16391]
                    )
                    (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_id: Redir_Great
                                                        fd: 2
                                                        arg_word: {(/dev/null)}
                                                        spids: [16433]
                                                      )
                                                    ]
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [16428 16435]
                                          )
                                        )
                                      } {(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_id: Redir_Great
                                                fd: 2
                                                arg_word: {(/dev/null)}
                                                spids: [16462]
                                              )
                                            ]
                                          )
                                        ]
                                      )
                                    left_token: <Left_Backtick '`'>
                                    spids: [16457 16464]
                                  ) ('\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 16447]
                        )
                      ]
                      spids: [16777215 16495]
                    )
                    (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 16531]
                        )
                      ]
                      spids: [16777215 16547]
                    )
                    (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: [16571]
                                )
                              ]
                              spids: [16571]
                            )
                          ]
                          spids: [16777215 16568]
                        )
                      ]
                      spids: [16777215 16577]
                    )
                  ]
                  spids: [16777215 16296]
                )
              ]
              spids: [16777215 16580]
            )
            (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: [16625]
                                )
                              ]
                              spids: [16625]
                            )
                          ]
                          spids: [16777215 16618]
                        )
                      ]
                      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: [16637]
                            )
                          ]
                          spids: [16637]
                        )
                      ]
                      spids: [16634 16647]
                    )
                    (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 16663]
                        )
                      ]
                      spids: [16777215 16676]
                    )
                    (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_id: Redir_Great
                                                        fd: 2
                                                        arg_word: {(/dev/null)}
                                                        spids: [16731]
                                                      )
                                                    ]
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [16726 16733]
                                          )
                                        )
                                      } {(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_id: Redir_Great
                                                fd: 2
                                                arg_word: {(/dev/null)}
                                                spids: [16760]
                                              )
                                            ]
                                          )
                                        ]
                                      )
                                    left_token: <Left_Backtick '`'>
                                    spids: [16755 16762]
                                  ) ('\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 16745]
                        )
                      ]
                      spids: [16777215 16793]
                    )
                    (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 16829]
                        )
                      ]
                      spids: [16777215 16845]
                    )
                  ]
                  spids: [16777215 16601]
                )
              ]
              spids: [16777215 16848]
            )
            (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: [16898]
                                )
                              ]
                              spids: [16898]
                            )
                            (C {($ VSub_Name '$RM')} {(DQ ($ VSub_Name '$lockfile'))})
                          ]
                          spids: [16777215 16895]
                        )
                      ]
                      spids: [16777215 16909]
                    )
                  ]
                  spids: [16856]
                )
              ]
            )
            (ControlFlow
              token: <ControlFlow_Exit exit>
              arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
            )
          ]
          spids: [14936]
        )
      spids: [14931 14935]
    )
    (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: [16944 16950]
                    )
                  }
                )
              ]
            )
          ]
          spids: [16927]
        )
      ]
    )
    (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: [16777215 16976 16990 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: [16994 16995 17017 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: [17021 17022 17054 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: [17058 17059 17087 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: [17091 17092 17112 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: [17116 17117 17142 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: [17146 17147 17225 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: [17229 17230 17252 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (C {(func_fatal_help)} 
                      {(DQ ("invalid operation mode '") ($ VSub_Name '$opt_mode') ("'"))}
                    )
                  ]
                  spids: [17256 17257 17269 16777215]
                )
              ]
              spids: [16967 16971 17272]
            )
            (C {(echo)})
            (C {($ VSub_Name '$ECHO')} 
              {
                (DQ ("Try '") ($ VSub_Name '$progname') 
                  (" --help' for more information about other modes.")
                )
              }
            )
          ]
          spids: [16960]
        )
      spids: [16955 16959]
    )
    (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 17314]
                )
              ]
              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:[17352 17358])
                          spids: [17336 17350]
                        )
                      ]
                      spids: [17323]
                    )
                    (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: [17403 17412]
                            )
                          spids: [17387 17401]
                        )
                      ]
                      spids: [17374]
                    )
                    (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: [17320 17435]
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{($ VSub_QMark '$?')})
          ]
          spids: [16777215 17298]
        )
      ]
      spids: [16777215 17442]
    )
    (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: [17465]
                )
              ]
              spids: [17465]
            )
            (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: [17527]
                        )
                      ]
                      spids: [17527]
                    )
                    (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: [17549]
                                )
                              ]
                              spids: [17549]
                            )
                            (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: [17582]
                                )
                              ]
                              spids: [17582]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:library_names)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [17585]
                                )
                              ]
                              spids: [17585]
                            )
                            (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 17611]
                                )
                              ]
                              spids: [16777215 17642]
                            )
                            (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: [17660]
                                )
                              ]
                              spids: [17660]
                            )
                            (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 17680]
                                )
                              ]
                              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 17711]
                                    )
                                  ]
                                  spids: [16777215 17729]
                                )
                              ]
                              spids: [17693 17732]
                            )
                          ]
                          spids: [17537 17539 17735 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: [17762]
                                )
                              ]
                              spids: [17762]
                            )
                          ]
                          spids: [17739 17741 17766 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: [17770 17771 17784 16777215]
                        )
                      ]
                      spids: [17530 17534 17787]
                    )
                    (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: [17796 17806]
                              )
                            }
                          spids: [17795]
                        )
                      ]
                      spids: [17795]
                    )
                    (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: [17819]
                            )
                          ]
                          spids: [17819]
                        )
                      ]
                    )
                    (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 17841]
                        )
                      ]
                      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: [17856 17873]
                    )
                  ]
                  spids: [17502 17876]
                )
              spids: [17498 17500]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libtool_execute_magic)
                  op: Equal
                  rhs: {($ VSub_Name '$magic')}
                  spids: [17888]
                )
              ]
              spids: [17888]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:args) op:Equal rhs:{(EmptyPart)} spids:[17897])]
              spids: [17897]
            )
            (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: [17915 17928 17930 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: [17964]
                                        )
                                      ]
                                      spids: [17964]
                                    )
                                  ]
                                  spids: [16777215 17950]
                                )
                                (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: [18000]
                                        )
                                      ]
                                      spids: [18000]
                                    )
                                  ]
                                  spids: [17970 17979]
                                )
                              ]
                              spids: [16777215 18006]
                            )
                          ]
                          spids: [17933 17934 18009 16777215]
                        )
                      ]
                      spids: [17908 17912 18012]
                    )
                    (C {(func_append_quoted)} {(args)} {(DQ ($ VSub_Name '$file'))})
                  ]
                  spids: [17905 18028]
                )
              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 18055]
                        )
                      ]
                      spids: [16777215 18080]
                    )
                    (C {($ VSub_Name '$ECHO')} {(DQ ($ VSub_Name '$cmd') ($ VSub_Name '$args'))})
                    (ControlFlow
                      token: <ControlFlow_Exit exit>
                      arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
                    )
                  ]
                  spids: [16777215 18037]
                )
              ]
              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 18110]
                    )
                  ]
                  spids: [16777215 18125]
                )
                (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: [18152 18185]
                    )
                  spids: [18138 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: [18193]
                    )
                  ]
                  spids: [18193]
                )
              ]
              spids: [18096 18199]
            )
          ]
          spids: [17454]
        )
      spids: [17449 17453]
    )
    (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: [18218 18224]
            )
          }
        )
      ]
    )
    (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:[18243])]
              spids: [18243]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libdirs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [18246]
                )
              ]
              spids: [18246]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:admincmds)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [18249]
                )
              ]
              spids: [18249]
            )
            (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: [18263 18269]
                  )
                }
              ]
              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 18286]
                        )
                        (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 18323]
                                )
                              ]
                              else_action: [
                                (C {(func_warning)} 
                                  {
                                    (DQ ("'") ($ VSub_Name '$opt') ("' is not a valid libtool archive"))
                                  }
                                )
                              ]
                              spids: [18336 18348]
                            )
                          ]
                          spids: [18300 18311]
                        )
                      ]
                      else_action: [
                        (C {(func_fatal_error)} {(DQ ("invalid argument '") ($ VSub_Name '$opt') ("'"))})
                      ]
                      spids: [18352 18364]
                    )
                  ]
                  spids: [18272 18367]
                )
              spids: [18258 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: [18400 18414]
                                      )
                                    }
                                  spids: [18399]
                                )
                              ]
                              spids: [18399]
                            )
                            (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: [18417]
                                )
                              ]
                              spids: [18417]
                            )
                          ]
                          spids: [16777215 18396]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:sysroot_cmd)
                              op: Equal
                              rhs: {(EmptyPart)}
                              spids: [18434]
                            )
                          ]
                          spids: [18434]
                        )
                      ]
                      spids: [18431 18437]
                    )
                    (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: [18462 18475]
                                )
                              spids: [18458 18460]
                            )
                          ]
                          spids: [16777215 18450]
                        )
                      ]
                      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: [18482 18484]
                                  )
                                }
                              spids: [18481]
                            )
                          ]
                          spids: [18481]
                        )
                        (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_id: Redir_Great
                                      fd: 16777215
                                      arg_word: {($ VSub_Name '$tmpdir') (/tmp-la)}
                                      spids: [18524]
                                    )
                                  ]
                                )
                                (C {(mv)} {(-f)} {($ VSub_Name '$tmpdir') (/tmp-la)} 
                                  {($ VSub_Name '$lib')}
                                )
                              ]
                              spids: [18496 18540]
                            )
                          spids: [18492 18494]
                        )
                        (C {(${ VSub_Name RM) (r)} {(DQ ($ VSub_Name '$tmpdir'))})
                      ]
                      spids: [18478 18553]
                    )
                  ]
                  spids: [16777215 18382]
                )
              ]
              spids: [16777215 18556]
            )
            (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 18608]
                                )
                              ]
                              spids: [16777215 18632]
                            )
                            (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 18646]
                                )
                              ]
                              spids: [16777215 18684]
                            )
                          ]
                          spids: [18594 18687]
                        )
                      spids: [18590 18592]
                    )
                  ]
                  spids: [16777215 18582]
                )
              ]
              spids: [16777215 18690]
            )
            (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: [18756 18767]
                        )
                      spids: [18752 18754]
                    )
                    (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 18812]
                        )
                      ]
                      spids: [16777215 18831]
                    )
                    (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 18845]
                        )
                      ]
                      spids: [16777215 18864]
                    )
                    (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: [18881]
                                )
                              ]
                              spids: [18881]
                            )
                            (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 18878]
                        )
                      ]
                      spids: [16777215 18903]
                    )
                    (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 18917]
                        )
                      ]
                      spids: [16777215 18928]
                    )
                    (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 18940]
                        )
                      ]
                      spids: [16777215 18950]
                    )
                    (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: [18971 18980 18997 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: [19000 19001 19011 16777215]
                        )
                      ]
                      spids: [18964 18968 19014]
                    )
                    (C {(echo)} 
                      {(DQ (----------------------------------------------------------------------))}
                    )
                  ]
                  spids: [16777215 18730]
                )
              ]
              spids: [16777215 19024]
            )
            (ControlFlow
              token: <ControlFlow_Exit exit>
              arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
            )
          ]
          spids: [18236]
        )
      spids: [18231 18235]
    )
    (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: [19048 19054]
            )
          }
        )
      ]
    )
    (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: [19120 19123 19126 16777215]
                            )
                            (case_arm
                              pat_list: [{(Lit_Other '*')}]
                              action: [(C {(false)})]
                              spids: [19128 19129 19132 16777215]
                            )
                          ]
                          spids: [19114 19118 19134]
                        )
                      ]
                    )
                  ]
                  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: [19151]
                        )
                      ]
                      spids: [19151]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:arg)
                          op: Equal
                          rhs: {($ VSub_Number '$1')}
                          spids: [19158]
                        )
                      ]
                      spids: [19158]
                    )
                    (C {(shift)})
                  ]
                  spids: [16777215 19137]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:install_prog)
                      op: Equal
                      rhs: {(EmptyPart)}
                      spids: [19168]
                    )
                  ]
                  spids: [19168]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:arg)
                      op: Equal
                      rhs: {($ VSub_Name '$nonopt')}
                      spids: [19171]
                    )
                  ]
                  spids: [19171]
                )
              ]
              spids: [19165 19175]
            )
            (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: [19203]
                )
              ]
              spids: [19203]
            )
            (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: [19229]
                        )
                      ]
                      spids: [19229]
                    )
                  ]
                  spids: [19218 19227 19232 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: [19238]
                        )
                      ]
                      spids: [19238]
                    )
                  ]
                  spids: [19235 19236 19241 16777215]
                )
              ]
              spids: [19207 19215 19244]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:dest) op:Equal rhs:{(EmptyPart)} spids:[19252])]
              spids: [19252]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:files) op:Equal rhs:{(EmptyPart)} spids:[19255])]
              spids: [19255]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:opts) op:Equal rhs:{(EmptyPart)} spids:[19258])]
              spids: [19258]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:prev) op:Equal rhs:{(EmptyPart)} spids:[19261])]
              spids: [19261]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:install_type)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19264]
                )
              ]
              spids: [19264]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:isdir) op:Equal rhs:{(false)} spids:[19267])]
              spids: [19267]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:stripme)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19271]
                )
              ]
              spids: [19271]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:no_mode)
                  op: Equal
                  rhs: {(Lit_Other ':')}
                  spids: [19274]
                )
              ]
              spids: [19274]
            )
            (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: [19286]
                        )
                      ]
                      spids: [19286]
                    )
                    (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: [19313]
                                )
                              ]
                              spids: [19313]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [16777215 19300]
                        )
                      ]
                      spids: [16777215 19320]
                    )
                    (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: [19334]
                                )
                              ]
                              spids: [19334]
                            )
                          ]
                          spids: [19331 19332 19337 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 19349]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:prev)
                                      op: Equal
                                      rhs: {($ VSub_Name '$arg')}
                                      spids: [19357]
                                    )
                                  ]
                                  spids: [19357]
                                )
                              ]
                              spids: [19354 19361]
                            )
                          ]
                          spids: [19340 19341 19364 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: [19379]
                                )
                              ]
                              spids: [19379]
                            )
                          ]
                          spids: [19367 19376 19383 16777215]
                        )
                        (case_arm
                          pat_list: [{(-s)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:stripme)
                                  op: Equal
                                  rhs: {(DQ (' -s'))}
                                  spids: [19390]
                                )
                              ]
                              spids: [19390]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [19386 19387 19399 16777215]
                        )
                        (case_arm
                          pat_list: [{(-) (Lit_Other '*')}]
                          spids: [19402 19404 19407 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: [19459]
                                                )
                                              ]
                                              spids: [19459]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:no_mode)
                                                  op: Equal
                                                  rhs: {(false)}
                                                  spids: [19463]
                                                )
                                              ]
                                              spids: [19463]
                                            )
                                          ]
                                          spids: [16777215 19456]
                                        )
                                      ]
                                      spids: [16777215 19467]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [19470]
                                        )
                                      ]
                                      spids: [19470]
                                    )
                                  ]
                                  spids: [16777215 19429]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:dest)
                                      op: Equal
                                      rhs: {($ VSub_Name '$arg')}
                                      spids: [19476]
                                    )
                                  ]
                                  spids: [19476]
                                )
                                (ControlFlow
                                  token: <ControlFlow_Continue continue>
                                )
                              ]
                              spids: [19473 19483]
                            )
                          ]
                          spids: [19410 19411 19486 16777215]
                        )
                      ]
                      spids: [19324 19328 19489]
                    )
                    (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 19525]
                        )
                      ]
                      spids: [16777215 19535]
                    )
                    (C {(func_append)} {(install_shared_prog)} 
                      {(DQ (' ') ($ VSub_Name '$func_quote_for_eval_result'))}
                    )
                  ]
                  spids: [19283 19548]
                )
              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 19617]
                        )
                      ]
                      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: [19622 19642]
                    )
                  ]
                  spids: [16777215 19609]
                )
              ]
              spids: [16777215 19645]
            )
            (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 19674]
                        )
                      ]
                      else_action: [(C {(func_fatal_help)} {(DQ ('you must specify a destination'))})]
                      spids: [19684 19694]
                    )
                  ]
                  spids: [16777215 19660]
                )
              ]
              spids: [16777215 19697]
            )
            (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: [19719]
                )
              ]
              spids: [19719]
            )
            (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: [19738]
                    )
                  ]
                  spids: [19738]
                )
              ]
            )
            (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: [19750]
                        )
                      ]
                      spids: [19750]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:destname)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [19754]
                        )
                      ]
                      spids: [19754]
                    )
                  ]
                  spids: [16777215 19747]
                )
              ]
              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: [19774]
                    )
                  ]
                  spids: [19774]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:destname)
                      op: Equal
                      rhs: {($ VSub_Name '$func_basename_result')}
                      spids: [19778]
                    )
                  ]
                  spids: [19778]
                )
                (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: [19757 19820]
            )
            (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: [19830 19847 19849 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: [19875 19877 19879 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(func_fatal_help)} 
                                      {
                                        (DQ ("'") ($ VSub_Name '$destdir') 
                                          ("' must be an absolute directory name")
                                        )
                                      }
                                    )
                                  ]
                                  spids: [19882 19883 19895 16777215]
                                )
                              ]
                              spids: [19868 19872 19898]
                            )
                          ]
                          spids: [19865 19901]
                        )
                      spids: [19861 19863]
                    )
                  ]
                  spids: [19852 19853 19904 16777215]
                )
              ]
              spids: [19823 19827 19907]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libtool_install_magic)
                  op: Equal
                  rhs: {($ VSub_Name '$magic')}
                  spids: [19919]
                )
              ]
              spids: [19919]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:staticlibs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19924]
                )
              ]
              spids: [19924]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:future_libdirs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19927]
                )
              ]
              spids: [19927]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:current_libdirs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [19930]
                )
              ]
              spids: [19930]
            )
            (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: [19957 19960 19977 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: [19993]
                                )
                              ]
                              spids: [19993]
                            )
                            (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: [20022]
                                )
                              ]
                              spids: [20022]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:old_library)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [20025]
                                )
                              ]
                              spids: [20025]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:relink_command)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [20028]
                                )
                              ]
                              spids: [20028]
                            )
                            (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: [20073 20080 20082 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_append)} {(current_libdirs)} 
                                              {(DQ (' ') ($ VSub_Name '$libdir'))}
                                            )
                                          ]
                                          spids: [20085 20086 20097 16777215]
                                        )
                                      ]
                                      spids: [20063 20070 20100]
                                    )
                                  ]
                                  spids: [16777215 20060]
                                )
                              ]
                              else_action: [
                                (Case
                                  to_match: {(DQ ($ VSub_Name '$future_libdirs') (' '))}
                                  arms: [
                                    (case_arm
                                      pat_list: [
                                        {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$libdir') (' ')) 
                                          (Lit_Other '*')
                                        }
                                      ]
                                      spids: [20120 20127 20129 16777215]
                                    )
                                    (case_arm
                                      pat_list: [{(Lit_Other '*')}]
                                      action: [
                                        (C {(func_append)} {(future_libdirs)} 
                                          {(DQ (' ') ($ VSub_Name '$libdir'))}
                                        )
                                      ]
                                      spids: [20132 20133 20144 16777215]
                                    )
                                  ]
                                  spids: [20110 20117 20147]
                                )
                              ]
                              spids: [20103 20150]
                            )
                            (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: [20168]
                                )
                              ]
                              spids: [20168]
                            )
                            (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: [20201 20220]
                                              )
                                            }
                                          spids: [20200]
                                        )
                                      ]
                                      spids: [20200]
                                    )
                                    (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: [20294 20310]
                                                      )
                                                    }
                                                  spids: [20293]
                                                )
                                              ]
                                              spids: [20293]
                                            )
                                          ]
                                          spids: [16777215 20286]
                                        )
                                      ]
                                      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: [20317 20331]
                                                  )
                                                }
                                              spids: [20316]
                                            )
                                          ]
                                          spids: [20316]
                                        )
                                      ]
                                      spids: [20313 20334]
                                    )
                                    (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 20193]
                                )
                              ]
                              spids: [16777215 20368]
                            )
                            (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: [20400]
                                        )
                                      ]
                                      spids: [20400]
                                    )
                                    (C {(shift)})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:srcname)
                                          op: Equal
                                          rhs: {($ VSub_Name '$realname')}
                                          spids: [20408]
                                        )
                                      ]
                                      spids: [20408]
                                    )
                                    (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: [20422]
                                            )
                                          ]
                                          spids: [20422]
                                        )
                                      ]
                                    )
                                    (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: [20455]
                                        )
                                      ]
                                      spids: [20455]
                                    )
                                    (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: [20498]
                                                        )
                                                      ]
                                                      spids: [20498]
                                                    )
                                                  ]
                                                  spids: [20493 20495 20501 16777215]
                                                )
                                              ]
                                              spids: [20486 20490 20504]
                                            )
                                          ]
                                          spids: [20466 20483 20507 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: [20527]
                                                        )
                                                      ]
                                                      spids: [20527]
                                                    )
                                                  ]
                                                  spids: [20522 20524 20530 16777215]
                                                )
                                              ]
                                              spids: [20515 20519 20533]
                                            )
                                          ]
                                          spids: [20510 20512 20536 16777215]
                                        )
                                      ]
                                      spids: [20459 20463 20539]
                                    )
                                    (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 20563]
                                        )
                                      ]
                                      spids: [16777215 20581]
                                    )
                                    (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: [20622 20667]
                                                )
                                              spids: [16777215 16777215]
                                            )
                                          ]
                                          spids: [16777215 20598]
                                        )
                                      ]
                                      spids: [16777215 20670]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:lib)
                                          op: Equal
                                          rhs: 
                                            {($ VSub_Name '$destdir') (/) ($ VSub_Name '$realname')}
                                          spids: [20678]
                                        )
                                      ]
                                      spids: [20678]
                                    )
                                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name '$postinstall_cmds'))} 
                                      {(SQ <'exit $?'>)}
                                    )
                                  ]
                                  spids: [16777215 20397]
                                )
                              ]
                              spids: [16777215 20695]
                            )
                            (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: [20710]
                                )
                              ]
                              spids: [20710]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:instname)
                                  op: Equal
                                  rhs: {($ VSub_Name '$dir') (/) (${ VSub_Name name) (i)}
                                  spids: [20714]
                                )
                              ]
                              spids: [20714]
                            )
                            (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: [19981 19983 20767 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: [20799]
                                        )
                                      ]
                                      spids: [20799]
                                    )
                                  ]
                                  spids: [16777215 20796]
                                )
                              ]
                              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: [20815]
                                    )
                                  ]
                                  spids: [20815]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:destfile)
                                      op: Equal
                                      rhs: {($ VSub_Name '$destdir') (/) ($ VSub_Name '$destfile')}
                                      spids: [20819]
                                    )
                                  ]
                                  spids: [20819]
                                )
                              ]
                              spids: [20805 20825]
                            )
                            (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: [20852]
                                        )
                                      ]
                                      spids: [20852]
                                    )
                                  ]
                                  spids: [20840 20842 20856 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: [20865]
                                        )
                                      ]
                                      spids: [20865]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:destfile)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [20869]
                                        )
                                      ]
                                      spids: [20869]
                                    )
                                  ]
                                  spids: [20859 20862 20872 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(func_fatal_help)} 
                                      {
                                        (DQ ("cannot copy a libtool object to '") 
                                          ($ VSub_Name '$destfile') ("'")
                                        )
                                      }
                                    )
                                  ]
                                  spids: [20875 20876 20888 16777215]
                                )
                              ]
                              spids: [20833 20837 20891]
                            )
                            (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: [20958]
                                        )
                                      ]
                                      spids: [20958]
                                    )
                                    (C {(func_show_eval)} 
                                      {
                                        (DQ ($ VSub_Name '$install_prog') (' ') 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\$'>
                                          ) ('staticobj ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (staticdest)
                                        )
                                      } {(SQ <'exit $?'>)}
                                    )
                                  ]
                                  spids: [16777215 20944]
                                )
                              ]
                              spids: [16777215 20978]
                            )
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
                            )
                          ]
                          spids: [20771 20773 20986 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: [21012]
                                        )
                                      ]
                                      spids: [21012]
                                    )
                                  ]
                                  spids: [16777215 21009]
                                )
                              ]
                              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: [21028]
                                    )
                                  ]
                                  spids: [21028]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:destfile)
                                      op: Equal
                                      rhs: {($ VSub_Name '$destdir') (/) ($ VSub_Name '$destfile')}
                                      spids: [21032]
                                    )
                                  ]
                                  spids: [21032]
                                )
                              ]
                              spids: [21018 21038]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:stripped_ext)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [21054]
                                )
                              ]
                              spids: [21054]
                            )
                            (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: [21099]
                                                )
                                              ]
                                              spids: [21099]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:stripped_ext)
                                                  op: Equal
                                                  rhs: {(.exe)}
                                                  spids: [21103]
                                                )
                                              ]
                                              spids: [21103]
                                            )
                                          ]
                                          spids: [16777215 21082]
                                        )
                                      ]
                                      spids: [16777215 21107]
                                    )
                                  ]
                                  spids: [21064 21066 21110 16777215]
                                )
                              ]
                              spids: [21057 21061 21113]
                            )
                            (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: [21159]
                                                )
                                              ]
                                              spids: [21159]
                                            )
                                          ]
                                          spids: [16777215 21149]
                                        )
                                      ]
                                      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: [21180]
                                            )
                                          ]
                                          spids: [21180]
                                        )
                                      ]
                                      spids: [21163 21184]
                                    )
                                  ]
                                  spids: [21128 21137 21187 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: [21194]
                                        )
                                      ]
                                      spids: [21194]
                                    )
                                  ]
                                  spids: [21190 21191 21198 16777215]
                                )
                              ]
                              spids: [21121 21125 21201]
                            )
                            (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: [21216]
                                        )
                                      ]
                                      spids: [21216]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:relink_command)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [21219]
                                        )
                                      ]
                                      spids: [21219]
                                    )
                                    (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: [21257]
                                        )
                                      ]
                                      spids: [21257]
                                    )
                                    (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: [21277]
                                                )
                                              ]
                                              spids: [21277]
                                            )
                                            (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 21291]
                                                )
                                              ]
                                              spids: [16777215 21301]
                                            )
                                            (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: [21307 21321]
                                                      )
                                                    }
                                                  spids: [21304]
                                                )
                                              ]
                                              spids: [21304]
                                            )
                                            (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: [21361]
                                                        )
                                                      ]
                                                      spids: [21361]
                                                    )
                                                  ]
                                                  spids: [16777215 21347]
                                                )
                                              ]
                                              spids: [16777215 21365]
                                            )
                                          ]
                                          spids: [21270 21368]
                                        )
                                      spids: [21266 21268]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:relink_command)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [21372]
                                        )
                                      ]
                                      spids: [21372]
                                    )
                                    (C {(func_source)} {(DQ ($ VSub_Name '$wrapper'))})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:outputname)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [21383]
                                        )
                                      ]
                                      spids: [21383]
                                    )
                                    (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: [21428 21430]
                                                                      )
                                                                    }
                                                                  spids: [21427]
                                                                )
                                                              ]
                                                              spids: [21427]
                                                            )
                                                            (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: [21441]
                                                                )
                                                              ]
                                                              spids: [21441]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:outputname)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {($ VSub_Name '$tmpdir') (/) 
                                                                      ($ VSub_Name '$file')
                                                                    }
                                                                  spids: [21445]
                                                                )
                                                              ]
                                                              spids: [21445]
                                                            )
                                                            (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: [21456 21476]
                                                                      )
                                                                    }
                                                                  spids: [21455]
                                                                )
                                                              ]
                                                              spids: [21455]
                                                            )
                                                            (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: [21484]
                                                                )
                                                              ]
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(eval)} 
                                                                          {
                                                                            (DQ 
                                                                              ($ VSub_Name 
'$relink_command'
                                                                              )
                                                                            )
                                                                          }
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [(C {(Lit_Other ':')})]
                                                                  spids: [16777215 21514]
                                                                )
                                                              ]
                                                              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: [21519 21548]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:file)
                                                                  op: Equal
                                                                  rhs: {($ VSub_Name '$outputname')}
                                                                  spids: [21551]
                                                                )
                                                              ]
                                                              spids: [21551]
                                                            )
                                                          ]
                                                          spids: [16777215 21424]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (C {(func_warning)} 
                                                          {
                                                            (DQ ("cannot relink '") 
                                                              ($ VSub_Name '$file') ("'")
                                                            )
                                                          }
                                                        )
                                                      ]
                                                      spids: [21555 21567]
                                                    )
                                                  ]
                                                  spids: [21416]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [16777215 21409]
                                        )
                                      ]
                                      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: [21581 21606]
                                                  )
                                                }
                                              spids: [21580]
                                            )
                                          ]
                                          spids: [21580]
                                        )
                                      ]
                                      spids: [21573 21609]
                                    )
                                  ]
                                  spids: [16777215 21213]
                                )
                              ]
                              spids: [16777215 21612]
                            )
                            (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: [21652 21657 21664 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: [21674]
                                                )
                                              ]
                                              spids: [21674]
                                            )
                                          ]
                                          spids: [21667 21671 21679 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: [21703]
                                                )
                                              ]
                                              spids: [21703]
                                            )
                                          ]
                                          spids: [21682 21686 21707 16777215]
                                        )
                                      ]
                                      spids: [21643 21649 21710]
                                    )
                                  ]
                                  spids: [21633 21640 21713 16777215]
                                )
                              ]
                              spids: [21624 21630 21716]
                            )
                            (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 21751]
                                    )
                                  ]
                                  spids: [16777215 21764]
                                )
                              ]
                            )
                          ]
                          spids: [20990 20991 21767 16777215]
                        )
                      ]
                      spids: [19950 19954 21770]
                    )
                  ]
                  spids: [19942 21773]
                )
              spids: [19938 19940]
            )
            (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: [21796]
                        )
                      ]
                      spids: [21796]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:oldlib)
                          op: Equal
                          rhs: {($ VSub_Name '$destdir') (/) ($ VSub_Name '$name')}
                          spids: [21805]
                        )
                      ]
                      spids: [21805]
                    )
                    (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: [21820]
                        )
                      ]
                      spids: [21820]
                    )
                    (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 21863]
                        )
                      ]
                      spids: [16777215 21879]
                    )
                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name '$old_postinstall_cmds'))} 
                      {(SQ <'exit $?'>)}
                    )
                  ]
                  spids: [21786 21898]
                )
              spids: [21782 21784]
            )
            (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: [21948]
                            )
                          ]
                          spids: [21948]
                        )
                      ]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:exec_cmd)
                          op: Equal
                          rhs: {(SQ <'$SHELL "$progpath" $preserve_args --finish$current_libdirs'>)}
                          spids: [21955]
                        )
                      ]
                      spids: [21955]
                    )
                  ]
                  spids: [16777215 21937]
                )
              ]
              else_action: [
                (ControlFlow
                  token: <ControlFlow_Exit exit>
                  arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
                )
              ]
              spids: [21961 21969]
            )
          ]
          spids: [19066]
        )
      spids: [19061 19065]
    )
    (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: [21988 21994]
            )
          }
        )
      ]
    )
    (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: [22019]
                )
              ]
              spids: [22019]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_originator)
                  op: Equal
                  rhs: {($ VSub_Number '$2')}
                  spids: [22023]
                )
              ]
              spids: [22023]
            )
            (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: [22028 22032]
                      )
                    }
                  spids: [22027]
                )
              ]
              spids: [22027]
            )
            (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: [22036 22050]
                      )
                    }
                  spids: [22035]
                )
              ]
              spids: [22035]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_dlsyms)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [22053]
                )
              ]
              spids: [22053]
            )
            (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: [22109]
                                )
                              ]
                              spids: [22109]
                            )
                          ]
                          spids: [16777215 22106]
                        )
                      ]
                      else_action: [
                        (C {(func_error)} 
                          {(DQ ('not configured to extract global symbols from dlpreopened files'))}
                        )
                      ]
                      spids: [22116 22126]
                    )
                  ]
                  spids: [16777215 22082]
                )
              ]
              spids: [16777215 22129]
            )
            (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: [16777215 22156 22158 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: [22170]
                                )
                              ]
                              spids: [22170]
                            )
                            (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_id: Redir_Great
                                      fd: 16777215
                                      arg_word: 
                                        {
                                          (DQ ($ VSub_Name '$output_objdir') (/) 
                                            ($ VSub_Name '$my_dlsyms')
                                          )
                                        }
                                      spids: [22218]
                                    )
                                  ]
                                )
                              ]
                            )
                            (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_id: Redir_Great
                                              fd: 16777215
                                              arg_word: {(DQ ($ VSub_Name '$nlist'))}
                                              spids: [22313]
                                            )
                                          ]
                                        )
                                      ]
                                    )
                                    (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: [22326 22349]
                                              )
                                            }
                                          spids: [22325]
                                        )
                                      ]
                                      spids: [22325]
                                    )
                                    (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: [22361 22400]
                                        )
                                      spids: [22357 22359]
                                    )
                                    (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: [22422]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [16777215 22415]
                                        )
                                      ]
                                      spids: [16777215 22442]
                                    )
                                    (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: [22464]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [16777215 22457]
                                        )
                                      ]
                                      spids: [16777215 22484]
                                    )
                                    (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: [22506]
                                                )
                                              ]
                                              spids: [22506]
                                            )
                                            (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: [22553 22569 22589 16777215]
                                                        )
                                                      ]
                                                      spids: [22546 22550 22592]
                                                    )
                                                  ]
                                                  spids: [22517]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [16777215 22503]
                                        )
                                      ]
                                      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: [22654 22670 22690 16777215]
                                                    )
                                                  ]
                                                  spids: [22647 22651 22693]
                                                )
                                              ]
                                              spids: [22605]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [22598 22699]
                                    )
                                  ]
                                  spids: [16777215 22290]
                                )
                              ]
                              spids: [16777215 22702]
                            )
                            (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: [22734]
                                        )
                                      ]
                                      spids: [22734]
                                    )
                                    (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: [22797]
                                                        )
                                                      ]
                                                      spids: [22797]
                                                    )
                                                    (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: [22827 22841]
                                                                      )
                                                                    }
                                                                  spids: [22826]
                                                                )
                                                              ]
                                                              spids: [22826]
                                                            )
                                                            (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: [22865]
                                                                        )
                                                                      ]
                                                                      spids: [22865]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 22855]
                                                                )
                                                              ]
                                                              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: [22883]
                                                                    )
                                                                  ]
                                                                  spids: [22883]
                                                                )
                                                              ]
                                                              spids: [22869 22887]
                                                            )
                                                          ]
                                                          spids: [16777215 22819]
                                                        )
                                                      ]
                                                      spids: [16777215 22890]
                                                    )
                                                    (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 22911]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (C {(func_warning)} 
                                                                  {
                                                                    (DQ 
                                                                      (
'Could not compute DLL name from '
                                                                      ) ($ VSub_Name '$name')
                                                                    )
                                                                  }
                                                                )
                                                                (C {(eval)} 
                                                                  {
                                                                    (SQ 
                                                                      <
'$ECHO ": $name " >> "$nlist"'
                                                                      >
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                              spids: [22921 22939]
                                                            )
                                                            (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: [22897]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  spids: [16777215 22777]
                                                )
                                              ]
                                              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: [22983]
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [22973 23021]
                                            )
                                          ]
                                          spids: [22745 22761 23024 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: [23035]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [23027 23028 23073 16777215]
                                        )
                                      ]
                                      spids: [22738 22742 23076]
                                    )
                                  ]
                                  spids: [22715 23079]
                                )
                              spids: [22711 22713]
                            )
                            (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_id: Redir_Great
                                              fd: 16777215
                                              arg_word: {(DQ ($ VSub_Name '$nlist'))}
                                              spids: [23106]
                                            )
                                          ]
                                        )
                                      ]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-n)} 
                                                  {(DQ ($ VSub_Name '$exclude_expsyms'))}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (SimpleCommand
                                              words: [
                                                {($ VSub_Name '$EGREP')}
                                                {(-v)}
                                                {
                                                  (DQ (' (') ($ VSub_Name '$exclude_expsyms') (')') 
                                                    (Lit_Other '$')
                                                  )
                                                }
                                                {(DQ ($ VSub_Name '$nlist'))}
                                              ]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_Great
                                                  fd: 16777215
                                                  arg_word: {(DQ ($ VSub_Name '$nlist')) (T)}
                                                  spids: [23143]
                                                )
                                              ]
                                            )
                                            (C {($ VSub_Name '$MV')} {(DQ ($ VSub_Name '$nlist')) (T)} 
                                              {(DQ ($ VSub_Name '$nlist'))}
                                            )
                                          ]
                                          spids: [16777215 23125]
                                        )
                                      ]
                                      spids: [16777215 23163]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (Pipeline
                                                  children: [
                                                    (SimpleCommand
                                                      words: [
                                                        {($ VSub_Name '$GREP')}
                                                        {(-v)}
                                                        {(DQ ('^: '))}
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_Less
                                                          fd: 16777215
                                                          arg_word: {(DQ ($ VSub_Name '$nlist'))}
                                                          spids: [23181]
                                                        )
                                                      ]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (SimpleCommand
                                                                  words: [{(sort)} {(-k)} {(3)}]
                                                                  redirects: [
                                                                    (Redir
                                                                      op_id: Redir_Less
                                                                      fd: 16777215
                                                                      arg_word: {(/dev/null)}
                                                                      spids: [23198]
                                                                    )
                                                                    (Redir
                                                                      op_id: Redir_Great
                                                                      fd: 16777215
                                                                      arg_word: {(/dev/null)}
                                                                      spids: [23201]
                                                                    )
                                                                    (Redir
                                                                      op_id: Redir_GreatAnd
                                                                      fd: 2
                                                                      arg_word: {(1)}
                                                                      spids: [23204]
                                                                    )
                                                                  ]
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [(C {(sort)} {(-k)} {(3)})]
                                                          spids: [16777215 23208]
                                                        )
                                                      ]
                                                      else_action: [(C {(sort)} {(Lit_Other '+') (2)})]
                                                      spids: [23218 23227]
                                                    )
                                                    (SimpleCommand
                                                      words: [{(uniq)}]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: 16777215
                                                          arg_word: {(DQ ($ VSub_Name '$nlist')) (S)}
                                                          spids: [23234]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  negated: F
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [(C {(Lit_Other ':')})]
                                          spids: [16777215 23242]
                                        )
                                      ]
                                      else_action: [
                                        (SimpleCommand
                                          words: [{($ VSub_Name '$GREP')} {(-v)} {(DQ ('^: '))}]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Less
                                              fd: 16777215
                                              arg_word: {(DQ ($ VSub_Name '$nlist'))}
                                              spids: [23259]
                                            )
                                            (Redir
                                              op_id: Redir_Great
                                              fd: 16777215
                                              arg_word: {(DQ ($ VSub_Name '$nlist')) (S)}
                                              spids: [23265]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [23248 23273]
                                    )
                                    (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 23289]
                                        )
                                      ]
                                      else_action: [
                                        (SimpleCommand
                                          words: [{(echo)} {(SQ <'/* NONE */'>)}]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_DGreat
                                              fd: 16777215
                                              arg_word: 
                                                {
                                                  (DQ ($ VSub_Name '$output_objdir') (/) 
                                                    ($ VSub_Name '$my_dlsyms')
                                                  )
                                                }
                                              spids: [23311]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [23302 23320]
                                    )
                                    (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 23342]
                                        )
                                      ]
                                      spids: [16777215 23355]
                                    )
                                    (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_id: Redir_DGreat
                                          fd: 16777215
                                          arg_word: 
                                            {
                                              (DQ ($ VSub_Name '$output_objdir') (/) 
                                                ($ VSub_Name '$my_dlsyms')
                                              )
                                            }
                                          spids: [23361]
                                        )
                                      ]
                                    )
                                    (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_id: Redir_DGreat
                                                  fd: 16777215
                                                  arg_word: 
                                                    {
                                                      (DQ ($ VSub_Name '$output_objdir') (/) 
                                                        ($ VSub_Name '$my_dlsyms')
                                                      )
                                                    }
                                                  spids: [23405]
                                                )
                                              ]
                                            )
                                            (SimpleCommand
                                              words: [
                                                {($ VSub_Name '$SED')}
                                                {
                                                  (SQ 
                                                    <
's/.*/      if (STREQ (symbol->name, \\"&\\")) symbol->address = (void *) \\&&;/'
                                                    >
                                                  )
                                                }
                                              ]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_Less
                                                  fd: 16777215
                                                  arg_word: {(DQ ($ VSub_Name '$nlist')) (I)}
                                                  spids: [23433]
                                                )
                                                (Redir
                                                  op_id: Redir_DGreat
                                                  fd: 16777215
                                                  arg_word: 
                                                    {
                                                      (DQ ($ VSub_Name '$output_objdir') (/) 
                                                        ($ VSub_Name '$my_dlsyms')
                                                      )
                                                    }
                                                  spids: [23440]
                                                )
                                              ]
                                            )
                                            (SimpleCommand
                                              words: [{(echo)} {(DQ ('    }\n') ('}'))}]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_DGreat
                                                  fd: 16777215
                                                  arg_word: 
                                                    {
                                                      (DQ ($ VSub_Name '$output_objdir') (/) 
                                                        ($ VSub_Name '$my_dlsyms')
                                                      )
                                                    }
                                                  spids: [23451]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [16777215 23400]
                                        )
                                      ]
                                      spids: [16777215 23466]
                                    )
                                    (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_id: Redir_DGreat
                                          fd: 16777215
                                          arg_word: 
                                            {
                                              (DQ ($ VSub_Name '$output_objdir') (/) 
                                                ($ VSub_Name '$my_dlsyms')
                                              )
                                            }
                                          spids: [23471]
                                        )
                                      ]
                                    )
                                    (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_id: Redir_DGreat
                                                  fd: 16777215
                                                  arg_word: 
                                                    {
                                                      (DQ ($ VSub_Name '$output_objdir') (/) 
                                                        ($ VSub_Name '$my_dlsyms')
                                                      )
                                                    }
                                                  spids: [23513]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [16777215 23508]
                                        )
                                      ]
                                      spids: [16777215 23531]
                                    )
                                    (Case
                                      to_match: {($ VSub_Name '$need_lib_prefix')}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(no)}]
                                          action: [
                                            (SimpleCommand
                                              words: [
                                                {(eval)}
                                                {
                                                  (DQ 
                                                    ($ VSub_Name '$global_symbol_to_c_name_address')
                                                  )
                                                }
                                              ]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_Less
                                                  fd: 16777215
                                                  arg_word: {(DQ ($ VSub_Name '$nlist'))}
                                                  spids: [23552]
                                                )
                                                (Redir
                                                  op_id: Redir_DGreat
                                                  fd: 16777215
                                                  arg_word: 
                                                    {
                                                      (DQ ($ VSub_Name '$output_objdir') (/) 
                                                        ($ VSub_Name '$my_dlsyms')
                                                      )
                                                    }
                                                  spids: [23558]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [23542 23543 23567 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_id: Redir_Less
                                                  fd: 16777215
                                                  arg_word: {(DQ ($ VSub_Name '$nlist'))}
                                                  spids: [23580]
                                                )
                                                (Redir
                                                  op_id: Redir_DGreat
                                                  fd: 16777215
                                                  arg_word: 
                                                    {
                                                      (DQ ($ VSub_Name '$output_objdir') (/) 
                                                        ($ VSub_Name '$my_dlsyms')
                                                      )
                                                    }
                                                  spids: [23586]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [23570 23571 23595 16777215]
                                        )
                                      ]
                                      spids: [23535 23539 23598]
                                    )
                                    (SimpleCommand
                                      words: [
                                        {(echo)}
                                        {
                                          (DQ ('  {0, (void *) 0}\n') ('};\n') ('\n') 
                                            (
'/* This works around a problem in FreeBSD linker */\n'
                                            ) ('#ifdef FREEBSD_WORKAROUND\n') ('static const void *lt_preloaded_setup() {\n') ('  return lt_') 
                                            (${ VSub_Name my_prefix) ('_LTX_preloaded_symbols;\n') ('}\n') ('#endif\n') ('\n') ('#ifdef __cplusplus\n') ('}\n') ('#endif')
                                          )
                                        }
                                      ]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_DGreat
                                          fd: 16777215
                                          arg_word: 
                                            {
                                              (DQ ($ VSub_Name '$output_objdir') (/) 
                                                ($ VSub_Name '$my_dlsyms')
                                              )
                                            }
                                          spids: [23603]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [23087]
                                )
                              ]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:pic_flag_for_symtable)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [23641]
                                )
                              ]
                              spids: [23641]
                            )
                            (Case
                              to_match: {(DQ ($ VSub_Name '$compile_command') (' '))}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (DQ (' -static ')) (Lit_Other '*')}]
                                  spids: [23654 23659 23661 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: [23715]
                                                )
                                              ]
                                              spids: [23715]
                                            )
                                          ]
                                          spids: [23695 23712 23722 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: [23733]
                                                )
                                              ]
                                              spids: [23733]
                                            )
                                          ]
                                          spids: [23725 23730 23739 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: [23750]
                                                    )
                                                  ]
                                                  spids: [23750]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [23742 23743 23757 16777215]
                                        )
                                      ]
                                      spids: [23668 23672 23760]
                                    )
                                  ]
                                  spids: [23664 23665 23763 16777215]
                                )
                              ]
                              spids: [23644 23651 23766]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:symtab_cflags)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [23769]
                                )
                              ]
                              spids: [23769]
                            )
                            (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: [23791 23800 23802 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_append)} {(symtab_cflags)} 
                                              {(DQ (' ') ($ VSub_Name '$arg'))}
                                            )
                                          ]
                                          spids: [23805 23806 23817 16777215]
                                        )
                                      ]
                                      spids: [23784 23788 23820]
                                    )
                                  ]
                                  spids: [23781 23823]
                                )
                              spids: [23777 23779]
                            )
                            (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: [23859]
                                )
                              ]
                              spids: [23859]
                            )
                            (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: [23913 23933]
                                                      )
                                                    }
                                                  spids: [23912]
                                                )
                                              ]
                                              spids: [23912]
                                            )
                                            (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: [23937 23957]
                                                      )
                                                    }
                                                  spids: [23936]
                                                )
                                              ]
                                              spids: [23936]
                                            )
                                          ]
                                          spids: [16777215 23909]
                                        )
                                      ]
                                      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: [23964 23980]
                                                  )
                                                }
                                              spids: [23963]
                                            )
                                          ]
                                          spids: [23963]
                                        )
                                        (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: [23984 24000]
                                                  )
                                                }
                                              spids: [23983]
                                            )
                                          ]
                                          spids: [23983]
                                        )
                                      ]
                                      spids: [23960 24003]
                                    )
                                  ]
                                  spids: [23876 23892 24006 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: [24014 24030]
                                              )
                                            }
                                          spids: [24013]
                                        )
                                      ]
                                      spids: [24013]
                                    )
                                    (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: [24034 24050]
                                              )
                                            }
                                          spids: [24033]
                                        )
                                      ]
                                      spids: [24033]
                                    )
                                  ]
                                  spids: [24009 24010 24053 16777215]
                                )
                              ]
                              spids: [23869 23873 24056]
                            )
                          ]
                          spids: [22161 22163 24059 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (C {(func_fatal_error)} 
                              {(DQ ("unknown suffix for '") ($ VSub_Name '$my_dlsyms') ("'"))}
                            )
                          ]
                          spids: [24062 24063 24075 16777215]
                        )
                      ]
                      spids: [22147 22151 24078]
                    )
                  ]
                  spids: [16777215 22144]
                )
              ]
              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: [24102 24116]
                          )
                        }
                      spids: [24101]
                    )
                  ]
                  spids: [24101]
                )
                (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: [24120 24134]
                          )
                        }
                      spids: [24119]
                    )
                  ]
                  spids: [24119]
                )
              ]
              spids: [24081 24137]
            )
          ]
          spids: [22012]
        )
      spids: [22007 22011]
    )
    (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: [24176 24198]
                      )
                    }
                  spids: [24175]
                )
              ]
              spids: [24175]
            )
            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$func_cygming_gnu_implib_tmp'))})
          ]
          spids: [24159]
        )
      spids: [24154 24158]
    )
    (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: [24246 24268]
                      )
                    }
                  spids: [24245]
                )
              ]
              spids: [24245]
            )
            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$func_cygming_ms_implib_tmp'))})
          ]
          spids: [24229]
        )
      spids: [24224 24228]
    )
    (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: [24315]
                )
              ]
              spids: [24315]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:win32_fileres)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (SimpleCommand
                                words: [{(file)} {(-L)} {($ VSub_Number '$1')}]
                                redirects: [
                                  (Redir
                                    op_id: Redir_Great
                                    fd: 2
                                    arg_word: {(/dev/null)}
                                    spids: [24327]
                                  )
                                ]
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [24320 24329]
                      )
                    }
                  spids: [24319]
                )
              ]
              spids: [24319]
            )
            (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: [24354]
                        )
                      ]
                      spids: [24354]
                    )
                  ]
                  spids: [24339 24348 24360 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_id: Redir_Great
                                          fd: 2
                                          arg_word: {(/dev/null)}
                                          spids: [24398]
                                        )
                                      ]
                                    )
                                    (SimpleCommand
                                      words: [
                                        {($ VSub_Name '$EGREP')}
                                        {
                                          (SQ 
                                            <
'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
                                            >
                                          )
                                        }
                                      ]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_Great
                                          fd: 16777215
                                          arg_word: {(/dev/null)}
                                          spids: [24410]
                                        )
                                      ]
                                    )
                                  ]
                                  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: [24451]
                                                )
                                              ]
                                              spids: [24451]
                                            )
                                          ]
                                          spids: [16777215 24448]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:win32_nmres)
                                              op: Equal
                                              rhs: {(EmptyPart)}
                                              spids: [24458]
                                            )
                                          ]
                                          spids: [24458]
                                        )
                                      ]
                                      spids: [24455 24461]
                                    )
                                  ]
                                  spids: [24425 24427 24464 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: [24481 24515]
                                              )
                                            }
                                          spids: [24480]
                                        )
                                      ]
                                      spids: [24480]
                                    )
                                  ]
                                  spids: [24467 24468 24518 16777215]
                                )
                              ]
                              spids: [24417 24421 24521]
                            )
                            (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: [24535]
                                        )
                                      ]
                                      spids: [24535]
                                    )
                                  ]
                                  spids: [24531 24533 24539 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: [24545]
                                        )
                                      ]
                                      spids: [24545]
                                    )
                                  ]
                                  spids: [24542 24543 24549 16777215]
                                )
                              ]
                              spids: [24524 24528 24552]
                            )
                          ]
                          spids: [16777215 24414]
                        )
                      ]
                      spids: [16777215 24555]
                    )
                  ]
                  spids: [24363 24368 24558 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: [24567]
                        )
                      ]
                      spids: [24567]
                    )
                  ]
                  spids: [24561 24564 24573 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: [24604]
                                )
                              ]
                              spids: [24604]
                            )
                          ]
                          spids: [24592 24601 24610 16777215]
                        )
                      ]
                      spids: [24585 24589 24613]
                    )
                  ]
                  spids: [24576 24579 24616 16777215]
                )
              ]
              spids: [24332 24336 24619]
            )
            (C {($ VSub_Name '$ECHO')} {(DQ ($ VSub_Name '$win32_libid_type'))})
          ]
          spids: [24308]
        )
      spids: [24303 24307]
    )
    (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: [24671 24681]
                      )
                    }
                  spids: [24670]
                )
              ]
              spids: [24670]
            )
          ]
          spids: [24663]
        )
      spids: [24658 24662]
    )
    (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: [24732 24746]
                      )
                    }
                  spids: [24731]
                )
              ]
              spids: [24731]
            )
            (Pipeline
              children: [
                (SimpleCommand
                  words: [
                    {($ VSub_Name '$OBJDUMP')}
                    {(-s)}
                    {(--section)}
                    {(DQ ($ VSub_Number '$1'))}
                    {(DQ ($ VSub_Number '$2'))}
                  ]
                  redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[24763])]
                )
                (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: [24724]
        )
      spids: [24719 24723]
    )
    (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: [24941 24951]
                              )
                            }
                          spids: [24940]
                        )
                      ]
                      spids: [24940]
                    )
                  ]
                  spids: [16777215 24933]
                )
                (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: [24971 24981]
                              )
                            }
                          spids: [24970]
                        )
                      ]
                      spids: [24970]
                    )
                  ]
                  spids: [24954 24963]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:sharedlib_from_linklib_result)
                      op: Equal
                      rhs: {(EmptyPart)}
                      spids: [24991]
                    )
                  ]
                  spids: [24991]
                )
              ]
              spids: [24984 24994]
            )
          ]
          spids: [24917]
        )
      spids: [24912 24916]
    )
    (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: [25015]
                    )
                  ]
                  spids: [25015]
                )
              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: [25022]
                )
              ]
              spids: [25022]
            )
            (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: [25042]
                        )
                      ]
                      spids: [25042]
                    )
                    (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_id: Redir_Great
                                      fd: 2
                                      arg_word: {(/dev/null)}
                                      spids: [25063]
                                    )
                                  ]
                                )
                              ]
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      body: 
                        (DoGroup
                          children: [
                            (C {(func_echo)} 
                              {(DQ ('Waiting for ') ($ VSub_Name '$lockfile') (' to be removed'))}
                            )
                            (C {(sleep)} {(2)})
                          ]
                          spids: [25067 25084]
                        )
                    )
                  ]
                  spids: [16777215 25039]
                )
              ]
              spids: [16777215 25087]
            )
            (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 25125]
                )
              ]
              spids: [16777215 25141]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (Subshell
                          child: 
                            (Pipeline
                              children: [
                                (C {($ VSub_Name '$AR')} {(t)} {(DQ ($ VSub_Name '$f_ex_an_ar_oldlib'))})
                                (C {(sort)})
                                (SimpleCommand
                                  words: [{(sort)} {(-uc)}]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: 16777215
                                      arg_word: {(/dev/null)}
                                      spids: [25165]
                                    )
                                    (Redir
                                      op_id: Redir_GreatAnd
                                      fd: 2
                                      arg_word: {(1)}
                                      spids: [25168]
                                    )
                                  ]
                                )
                              ]
                              negated: F
                            )
                          spids: [25146 25170]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(Lit_Other ':')})]
                  spids: [16777215 25173]
                )
              ]
              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: [25179 25192]
            )
          ]
          spids: [25008]
        )
      spids: [25003 25007]
    )
    (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: [25213]
                    )
                  ]
                  spids: [25213]
                )
              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: [25221 25227]
                      )
                    }
                  spids: [25220]
                )
              ]
              spids: [25220]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_oldobjs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [25230]
                )
              ]
              spids: [25230]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_xlib)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [25233]
                )
              ]
              spids: [25233]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_xabs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [25236]
                )
              ]
              spids: [25236]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_xdir)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [25239]
                )
              ]
              spids: [25239]
            )
            (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: [25285]
                                )
                              ]
                              spids: [25285]
                            )
                          ]
                          spids: [25266 25283 25288 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: [25295 25297]
                                      ) (DQ (/) ($ VSub_Name '$my_xlib'))
                                    }
                                  spids: [25294]
                                )
                              ]
                              spids: [25294]
                            )
                          ]
                          spids: [25291 25292 25303 16777215]
                        )
                      ]
                      spids: [25259 25263 25306]
                    )
                    (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: [25316]
                        )
                      ]
                      spids: [25316]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:my_xlib_u)
                          op: Equal
                          rhs: {($ VSub_Name '$my_xlib')}
                          spids: [25320]
                        )
                      ]
                      spids: [25320]
                    )
                    (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: [25362]
                                        )
                                      ]
                                      spids: [25362]
                                    )
                                    (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: [25366]
                                        )
                                      ]
                                      spids: [25366]
                                    )
                                  ]
                                  spids: [25343 25350 25372 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [(ControlFlow token:<ControlFlow_Break break>)]
                                  spids: [25375 25376 25380 16777215]
                                )
                              ]
                              spids: [25332 25340 25383]
                            )
                          ]
                          spids: [25329 25386]
                        )
                    )
                    (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: [25389]
                        )
                      ]
                      spids: [25389]
                    )
                    (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: [25397]
                        )
                      ]
                      spids: [25397]
                    )
                    (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: [25445 25447]
                                              )
                                            }
                                          spids: [25444]
                                        )
                                      ]
                                      spids: [25444]
                                    )
                                    (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: [25461]
                                        )
                                      ]
                                      spids: [25461]
                                    )
                                    (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: [25466 25468]
                                              )
                                            }
                                          spids: [25465]
                                        )
                                      ]
                                      spids: [25465]
                                    )
                                    (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: [25478]
                                        )
                                      ]
                                      spids: [25478]
                                    )
                                    (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_id: Redir_Great
                                                                    fd: 2
                                                                    arg_word: {(/dev/null)}
                                                                    spids: [25492]
                                                                  )
                                                                ]
                                                              )
                                                              (SimpleCommand
                                                                words: [
                                                                  {($ VSub_Name '$GREP')}
                                                                  {(Architectures)}
                                                                ]
                                                                redirects: [
                                                                  (Redir
                                                                    op_id: Redir_Great
                                                                    fd: 2
                                                                    arg_word: {(/dev/null)}
                                                                    spids: [25501]
                                                                  )
                                                                ]
                                                              )
                                                            ]
                                                            negated: F
                                                          )
                                                          (C {(true)})
                                                        ]
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [25483 25507]
                                              )
                                            }
                                          spids: [25482]
                                        )
                                      ]
                                      spids: [25482]
                                    )
                                    (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: [25525 25541]
                                                      )
                                                    }
                                                  spids: [25524]
                                                )
                                              ]
                                              spids: [25524]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:darwin_arch)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [25544]
                                                )
                                              ]
                                              spids: [25544]
                                            )
                                            (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: [25619 25621]
                                                          )
                                                        )
                                                      } {(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: [25565 25650]
                                                )
                                              spids: [25561 25563]
                                            )
                                            (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: [25661 25702]
                                                      )
                                                    }
                                                  spids: [25660]
                                                )
                                              ]
                                              spids: [25660]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:darwin_file)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [25705]
                                                )
                                              ]
                                              spids: [25705]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:darwin_files)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [25708]
                                                )
                                              ]
                                              spids: [25708]
                                            )
                                            (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: [25724 25743]
                                                              )
                                                            }
                                                          spids: [25723]
                                                        )
                                                      ]
                                                      spids: [25723]
                                                    )
                                                    (C {($ VSub_Name '$LIPO')} {(-create)} {(-output)} 
                                                      {(DQ ($ VSub_Name '$darwin_file'))} {($ VSub_Name '$darwin_files')}
                                                    )
                                                  ]
                                                  spids: [25720 25759]
                                                )
                                              spids: [25716 25718]
                                            )
                                            (C {($ VSub_Name '$RM')} {(-rf)} 
                                              {(unfat-) ($ VSub_Dollar '$$')}
                                            )
                                            (C {(cd)} {(DQ ($ VSub_Name '$darwin_orig_dir'))})
                                          ]
                                          spids: [16777215 25521]
                                        )
                                      ]
                                      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: [25780 25799]
                                    )
                                  ]
                                  spids: [25441]
                                )
                              ]
                            )
                          ]
                          spids: [25419 25422 25811 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (C {(func_extract_an_archive)} {(DQ ($ VSub_Name '$my_xdir'))} 
                              {(DQ ($ VSub_Name '$my_xabs'))}
                            )
                          ]
                          spids: [25814 25815 25829 16777215]
                        )
                      ]
                      spids: [25412 25416 25832]
                    )
                    (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: [25840 25869]
                              )
                            }
                          spids: [25835]
                        )
                      ]
                      spids: [25835]
                    )
                  ]
                  spids: [25252 25872]
                )
              spids: [25248 25250]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_extract_archives_result)
                  op: Equal
                  rhs: {($ VSub_Name '$my_oldobjs')}
                  spids: [25876]
                )
              ]
              spids: [25876]
            )
          ]
          spids: [25206]
        )
      spids: [25201 25205]
    )
    (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: [25934 25938]
                      )
                    }
                  spids: [25933]
                )
              ]
              spids: [25933]
            )
            (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: [26075 26089]
                      )
                    }
                  spids: [26074]
                )
              ]
              spids: [26074]
            )
            (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: [26292 26310 26370 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: [26374 26375 26431 16777215]
                )
              ]
              spids: [26281 26285 26434]
            )
            (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 26766]
                )
              ]
              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: [26973 26993]
            )
            (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 27045]
                )
              ]
              spids: [16777215 27061]
            )
            (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 27102]
                )
              ]
              spids: [16777215 27150]
            )
            (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: [25930]
        )
      spids: [25925 25929]
    )
    (FuncDef
      name: func_emit_cwrapperexe_src
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: 
                    {
                      (DQ ('\n') ('/* ') ($ VSub_Name '$cwrappersource') 
                        (' - temporary wrapper executable for ') ($ VSub_Name '$objdir') (/) ($ VSub_Name '$outputname') ('\n') ('   Generated by ') 
                        ($ VSub_Name '$PROGRAM') (' (GNU ') ($ VSub_Name '$PACKAGE') (') ') ($ VSub_Name '$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')
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: T
                  spids: [27242]
                )
              ]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: 
                    {('#ifdef _MSC_VER\n') ('# define _CRT_SECURE_NO_DEPRECATE 1\n') ('#endif\n') 
                      ('#include <stdio.h>\n') ('#include <stdlib.h>\n') ('#ifdef _MSC_VER\n') ('# include <direct.h>\n') ('# include <process.h>\n') 
                      ('# include <io.h>\n') ('#else\n') ('# include <unistd.h>\n') ('# include <stdint.h>\n') ('# ifdef __CYGWIN__\n') 
                      ('#  include <io.h>\n') ('# endif\n') ('#endif\n') ('#include <malloc.h>\n') ('#include <stdarg.h>\n') ('#include <assert.h>\n') 
                      ('#include <string.h>\n') ('#include <ctype.h>\n') ('#include <errno.h>\n') ('#include <fcntl.h>\n') ('#include <sys/stat.h>\n') 
                      ('\n') ('#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0)\n') ('\n') 
                      ('/* declarations of non-ANSI functions */\n') ('#if defined __MINGW32__\n') ('# ifdef __STRICT_ANSI__\n') ('int _putenv (const char *);\n') 
                      ('# endif\n') ('#elif defined __CYGWIN__\n') ('# ifdef __STRICT_ANSI__\n') 
                      ('char *realpath (const char *, char *);\n') ('int putenv (char *);\n') ('int setenv (const char *, const char *, int);\n') ('# endif\n') 
                      ('/* #elif defined other_platform || defined ... */\n') ('#endif\n') ('\n') ('/* portability defines, excluding path handling macros */\n') 
                      ('#if defined _MSC_VER\n') ('# define setmode _setmode\n') ('# define stat    _stat\n') ('# define chmod   _chmod\n') 
                      ('# define getcwd  _getcwd\n') ('# define putenv  _putenv\n') ('# define S_IXUSR _S_IEXEC\n') ('#elif defined __MINGW32__\n') 
                      ('# define setmode _setmode\n') ('# define stat    _stat\n') ('# define chmod   _chmod\n') ('# define getcwd  _getcwd\n') 
                      ('# define putenv  _putenv\n') ('#elif defined __CYGWIN__\n') ('# define HAVE_SETENV\n') ('# define FOPEN_WB "wb"\n') 
                      ('/* #elif defined other platforms ... */\n') ('#endif\n') ('\n') ('#if defined PATH_MAX\n') ('# define LT_PATHMAX PATH_MAX\n') 
                      ('#elif defined MAXPATHLEN\n') ('# define LT_PATHMAX MAXPATHLEN\n') ('#else\n') ('# define LT_PATHMAX 1024\n') ('#endif\n') ('\n') 
                      ('#ifndef S_IXOTH\n') ('# define S_IXOTH 0\n') ('#endif\n') ('#ifndef S_IXGRP\n') ('# define S_IXGRP 0\n') ('#endif\n') ('\n') 
                      ('/* path handling portability macros */\n') ('#ifndef DIR_SEPARATOR\n') ("# define DIR_SEPARATOR '/'\n") ("# define PATH_SEPARATOR ':'\n") 
                      ('#endif\n') ('\n') ('#if defined _WIN32 || defined __MSDOS__ || defined __DJGPP__ || \\\n') ('  defined __OS2__\n') 
                      ('# define HAVE_DOS_BASED_FILE_SYSTEM\n') ('# define FOPEN_WB "wb"\n') ('# ifndef DIR_SEPARATOR_2\n') ("#  define DIR_SEPARATOR_2 '\\\\'\n") 
                      ('# endif\n') ('# ifndef PATH_SEPARATOR_2\n') ("#  define PATH_SEPARATOR_2 ';'\n") ('# endif\n') ('#endif\n') ('\n') 
                      ('#ifndef DIR_SEPARATOR_2\n') ('# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)\n') ('#else /* DIR_SEPARATOR_2 */\n') 
                      ('# define IS_DIR_SEPARATOR(ch) \\\n') ('\t(((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))\n') ('#endif /* DIR_SEPARATOR_2 */\n') 
                      ('\n') ('#ifndef PATH_SEPARATOR_2\n') ('# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)\n') 
                      ('#else /* PATH_SEPARATOR_2 */\n') ('# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)\n') ('#endif /* PATH_SEPARATOR_2 */\n') 
                      ('\n') ('#ifndef FOPEN_WB\n') ('# define FOPEN_WB "w"\n') ('#endif\n') ('#ifndef _O_BINARY\n') 
                      ('# define _O_BINARY 0\n') ('#endif\n') ('\n') ('#define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))\n') 
                      ('#define XFREE(stale) do { \\\n') ('  if (stale) { free (stale); stale = 0; } \\\n') ('} while (0)\n') ('\n') 
                      ('#if defined LT_DEBUGWRAPPER\n') ('static int lt_debug = 1;\n') ('#else\n') ('static int lt_debug = 0;\n') ('#endif\n') ('\n') 
                      (
'const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */\n'
                      ) ('\n') ('void *xmalloc (size_t num);\n') ('char *xstrdup (const char *string);\n') 
                      ('const char *base_name (const char *name);\n') ('char *find_executable (const char *wrapper);\n') ('char *chase_symlinks (const char *pathspec);\n') 
                      ('int make_executable (const char *path);\n') ('int check_executable (const char *path);\n') ('char *strendzap (char *str, const char *pat);\n') 
                      ('void lt_debugprintf (const char *file, int line, const char *fmt, ...);\n') ('void lt_fatal (const char *file, int line, const char *message, ...);\n') 
                      ('static const char *nonnull (const char *s);\n') ('static const char *nonempty (const char *s);\n') 
                      ('void lt_setenv (const char *name, const char *value);\n') ('char *lt_extend_str (const char *orig_value, const char *add, int to_end);\n') 
                      ('void lt_update_exe_path (const char *name, const char *value);\n') ('void lt_update_lib_path (const char *name, const char *value);\n') 
                      ('char **prepare_spawn (char **argv);\n') ('void lt_dump_script (FILE *f);\n')
                    }
                  do_expansion: False
                  here_end: EOF
                  was_filled: T
                  spids: [27273]
                )
              ]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: 
                    {
                      (DQ ('#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')
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: T
                  spids: [27282]
                )
              ]
            )
            (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_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ('const char * LIB_PATH_VALUE   = ') (Right_DoubleQuote '"') 
                                ($ VSub_Name '$func_to_host_path_result') (Right_DoubleQuote '"') (';\n')
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: T
                          spids: [27348]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 27336]
                )
              ]
              else_action: [
                (SimpleCommand
                  words: [{(cat)}]
                  redirects: [
                    (HereDoc
                      op_id: Redir_DLess
                      fd: 16777215
                      body: {('const char * LIB_PATH_VALUE   = "";\n')}
                      do_expansion: False
                      here_end: EOF
                      was_filled: T
                      spids: [27363]
                    )
                  ]
                )
              ]
              spids: [27358 27369]
            )
            (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_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ('const char * EXE_PATH_VARNAME = ') (Right_DoubleQuote '"') (PATH) 
                                (Right_DoubleQuote '"') (';\n') ('const char * EXE_PATH_VALUE   = ') (Right_DoubleQuote '"') 
                                ($ VSub_Name '$func_to_host_path_result') (Right_DoubleQuote '"') (';\n')
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: T
                          spids: [27397]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 27384]
                )
              ]
              else_action: [
                (SimpleCommand
                  words: [{(cat)}]
                  redirects: [
                    (HereDoc
                      op_id: Redir_DLess
                      fd: 16777215
                      body: 
                        {('const char * EXE_PATH_VARNAME = "";\n') 
                          ('const char * EXE_PATH_VALUE   = "";\n')
                        }
                      do_expansion: False
                      here_end: EOF
                      was_filled: T
                      spids: [27417]
                    )
                  ]
                )
              ]
              spids: [27412 27423]
            )
            (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_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ('const char * TARGET_PROGRAM_NAME = ') (Right_DoubleQuote '"') (lt-) 
                                ($ VSub_Name '$outputname') (Right_DoubleQuote '"') ('; /* hopefully, no .exe */\n')
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: T
                          spids: [27445]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 27440]
                )
              ]
              else_action: [
                (SimpleCommand
                  words: [{(cat)}]
                  redirects: [
                    (HereDoc
                      op_id: Redir_DLess
                      fd: 16777215
                      body: 
                        {
                          (DQ ('const char * TARGET_PROGRAM_NAME = ') (Right_DoubleQuote '"') 
                            ($ VSub_Name '$outputname') (Right_DoubleQuote '"') ('; /* hopefully, no .exe */\n')
                          )
                        }
                      do_expansion: True
                      here_end: EOF
                      was_filled: T
                      spids: [27461]
                    )
                  ]
                )
              ]
              spids: [27456 27471]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: 
                    {('\n') ('#define LTWRAPPER_OPTION_PREFIX         "--lt-"\n') ('\n') 
                      ('static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;\n') ('static const char *dumpscript_opt       = LTWRAPPER_OPTION_PREFIX "dump-script";\n') 
                      (
'static const char *debug_opt            = LTWRAPPER_OPTION_PREFIX "debug";\n'
                      ) ('\n') ('int\n') ('main (int argc, char *argv[])\n') ('{\n') ('  char **newargz;\n') ('  int  newargc;\n') 
                      ('  char *tmp_pathspec;\n') ('  char *actual_cwrapper_path;\n') ('  char *actual_cwrapper_name;\n') ('  char *target_name;\n') 
                      ('  char *lt_argv_zero;\n') ('  int rval = 127;\n') ('\n') ('  int i;\n') ('\n') 
                      ('  program_name = (char *) xstrdup (base_name (argv[0]));\n') ('  newargz = XMALLOC (char *, (size_t) argc + 1);\n') ('\n') 
                      ("  /* very simple arg parsing; don't want to rely on getopt\n") ('   * also, copy all non cwrapper options to newargz, except\n') 
                      ('   * argz[0], which is handled differently\n') ('   */\n') ('  newargc=0;\n') ('  for (i = 1; i < argc; i++)\n') ('    {\n') 
                      ('      if (STREQ (argv[i], dumpscript_opt))\n') ('\t{\n')
                    }
                  do_expansion: False
                  here_end: EOF
                  was_filled: T
                  spids: [27478]
                )
              ]
            )
            (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: [27491 27501 27515 16777215]
                )
              ]
              spids: [27484 27488 27518]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: 
                    {('\t  lt_dump_script (stdout);\n') ('\t  return 0;\n') ('\t}\n') 
                      ('      if (STREQ (argv[i], debug_opt))\n') ('\t{\n') ('          lt_debug = 1;\n') ('          continue;\n') ('\t}\n') 
                      ('      if (STREQ (argv[i], ltwrapper_option_prefix))\n') ('        {\n') ('          /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX\n') 
                      ('             namespace, but it is not one of the ones we know about and\n') ('             have already dealt with, above (inluding dump-script), then\n') 
                      ('             report an error. Otherwise, targets might begin to believe\n') ('             they are allowed to use options in the LTWRAPPER_OPTION_PREFIX\n') 
                      (
"             namespace. The first time any user complains about this, we'll\n"
                      ) ('             need to make LTWRAPPER_OPTION_PREFIX a configure-time option\n') 
                      ('             or a configure.ac-settable value.\n') ('           */\n') ('          lt_fatal (__FILE__, __LINE__,\n') 
                      ('\t\t    "unrecognized %s option: \'%s\'",\n') ('                    ltwrapper_option_prefix, argv[i]);\n') ('        }\n') 
                      ('      /* otherwise ... */\n') ('      newargz[++newargc] = xstrdup (argv[i]);\n') ('    }\n') ('  newargz[++newargc] = NULL;\n') 
                      ('\n')
                    }
                  do_expansion: False
                  here_end: EOF
                  was_filled: T
                  spids: [27524]
                )
              ]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: 
                    {
                      (DQ ('  /* 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')
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: T
                  spids: [27532]
                )
              ]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: 
                    {('  lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\\n", argv[0]);\n') 
                      (
'  lt_debugprintf (__FILE__, __LINE__, "(main) program_name: %s\\n", program_name);\n'
                      ) ('\n') ('  tmp_pathspec = find_executable (argv[0]);\n') ('  if (tmp_pathspec == NULL)\n') 
                      ('    lt_fatal (__FILE__, __LINE__, "couldn\'t find %s", argv[0]);\n') ('  lt_debugprintf (__FILE__, __LINE__,\n') 
                      ('                  "(main) found exe (before symlink chase) at: %s\\n",\n') ('\t\t  tmp_pathspec);\n') ('\n') ('  actual_cwrapper_path = chase_symlinks (tmp_pathspec);\n') 
                      ('  lt_debugprintf (__FILE__, __LINE__,\n') ('                  "(main) found exe (after symlink chase) at: %s\\n",\n') 
                      ('\t\t  actual_cwrapper_path);\n') ('  XFREE (tmp_pathspec);\n') ('\n') 
                      ('  actual_cwrapper_name = xstrdup (base_name (actual_cwrapper_path));\n') ('  strendzap (actual_cwrapper_path, actual_cwrapper_name);\n') ('\n') 
                      ('  /* wrapper name transforms */\n') ('  strendzap (actual_cwrapper_name, ".exe");\n') 
                      ('  tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);\n') ('  XFREE (actual_cwrapper_name);\n') ('  actual_cwrapper_name = tmp_pathspec;\n') 
                      ('  tmp_pathspec = 0;\n') ('\n') ('  /* target_name transforms -- use actual target program name; might have lt- prefix */\n') 
                      ('  target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));\n') ('  strendzap (target_name, ".exe");\n') 
                      ('  tmp_pathspec = lt_extend_str (target_name, ".exe", 1);\n') ('  XFREE (target_name);\n') ('  target_name = tmp_pathspec;\n') ('  tmp_pathspec = 0;\n') ('\n') 
                      ('  lt_debugprintf (__FILE__, __LINE__,\n') ('\t\t  "(main) libtool target name: %s\\n",\n') ('\t\t  target_name);\n')
                    }
                  do_expansion: False
                  here_end: EOF
                  was_filled: T
                  spids: [27550]
                )
              ]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: 
                    {
                      (DQ ('  newargz[0] =\n') 
                        ('    XMALLOC (char, (strlen (actual_cwrapper_path) +\n') ('\t\t    strlen (') (Right_DoubleQuote '"') ($ VSub_Name '$objdir') (Right_DoubleQuote '"') 
                        (') + 1 + strlen (actual_cwrapper_name) + 1));\n') ('  strcpy (newargz[0], actual_cwrapper_path);\n') ('  strcat (newargz[0], ') (Right_DoubleQuote '"') 
                        ($ VSub_Name '$objdir') (Right_DoubleQuote '"') (');\n') ('  strcat (newargz[0], ') (Right_DoubleQuote '"') (/) 
                        (Right_DoubleQuote '"') (');\n')
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: T
                  spids: [27559]
                )
              ]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: 
                    {("  /* stop here, and copy so we don't have to do this twice */\n") 
                      ('  tmp_pathspec = xstrdup (newargz[0]);\n') ('\n') ('  /* do NOT want the lt- prefix here, so use actual_cwrapper_name */\n') 
                      ('  strcat (newargz[0], actual_cwrapper_name);\n') ('\n') ('  /* DO want the lt- prefix here if it exists, so use target_name */\n') 
                      ('  lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);\n') ('  XFREE (tmp_pathspec);\n') ('  tmp_pathspec = NULL;\n')
                    }
                  do_expansion: False
                  here_end: EOF
                  was_filled: T
                  spids: [27585]
                )
              ]
            )
            (Case
              to_match: {($ VSub_Name '$host_os')}
              arms: [
                (case_arm
                  pat_list: [{(mingw) (Lit_Other '*')}]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {('  {\n') ('    char* p;\n') 
                              ("    while ((p = strchr (newargz[0], '\\\\')) != NULL)\n") ('      {\n') ("\t*p = '/';\n") ('      }\n') 
                              ("    while ((p = strchr (lt_argv_zero, '\\\\')) != NULL)\n") ('      {\n') ("\t*p = '/';\n") ('      }\n') ('  }\n')
                            }
                          do_expansion: False
                          here_end: EOF
                          was_filled: T
                          spids: [27606]
                        )
                      ]
                    )
                  ]
                  spids: [27599 27601 27612 16777215]
                )
              ]
              spids: [27592 27596 27615]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: 
                    {('  XFREE (target_name);\n') ('  XFREE (actual_cwrapper_path);\n') 
                      ('  XFREE (actual_cwrapper_name);\n') ('\n') ('  lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */\n') 
                      ('  lt_setenv ("DUALCASE", "1");  /* for MSK sh */\n') ('  /* Update the DLL searchpath.  EXE_PATH_VALUE ($dllsearchpath) must\n') 
                      (
'     be prepended before (that is, appear after) LIB_PATH_VALUE ($temp_rpath)\n'
                      ) ('     because on Windows, both *_VARNAMEs are PATH but uninstalled\n') 
                      ('     libraries must come first. */\n') ('  lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);\n') 
                      ('  lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);\n') ('\n') ('  lt_debugprintf (__FILE__, __LINE__, "(main) lt_argv_zero: %s\\n",\n') 
                      ('\t\t  nonnull (lt_argv_zero));\n') ('  for (i = 0; i < newargc; i++)\n') ('    {\n') 
                      ('      lt_debugprintf (__FILE__, __LINE__, "(main) newargz[%d]: %s\\n",\n') ('\t\t      i, nonnull (newargz[i]));\n') ('    }\n') ('\n')
                    }
                  do_expansion: False
                  here_end: EOF
                  was_filled: T
                  spids: [27621]
                )
              ]
            )
            (Case
              to_match: {($ VSub_Name '$host_os')}
              arms: [
                (case_arm
                  pat_list: [{(mingw) (Lit_Other '*')}]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {("  /* execv doesn't actually work on mingw as expected on unix */\n") 
                              ('  newargz = prepare_spawn (newargz);\n') ('  rval = (int) _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);\n') 
                              ('  if (rval == -1)\n') ('    {\n') ('      /* failed to start process */\n') ('      lt_debugprintf (__FILE__, __LINE__,\n') 
                              ('\t\t      "(main) failed to launch target \\"%s\\": %s\\n",\n') ('\t\t      lt_argv_zero, nonnull (strerror (errno)));\n') ('      return 127;\n') ('    }\n') 
                              ('  return rval;\n')
                            }
                          do_expansion: False
                          here_end: EOF
                          was_filled: T
                          spids: [27642]
                        )
                      ]
                    )
                  ]
                  spids: [27635 27637 27648 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {('  execv (lt_argv_zero, newargz);\n') 
                              ('  return rval; /* =127, but avoids unused variable warning */\n')
                            }
                          do_expansion: False
                          here_end: EOF
                          was_filled: T
                          spids: [27657]
                        )
                      ]
                    )
                  ]
                  spids: [27651 27652 27663 16777215]
                )
              ]
              spids: [27628 27632 27666]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: 
                    {('}\n') ('\n') ('void *\n') ('xmalloc (size_t num)\n') ('{\n') 
                      ('  void *p = (void *) malloc (num);\n') ('  if (!p)\n') ('    lt_fatal (__FILE__, __LINE__, "memory exhausted");\n') ('\n') ('  return p;\n') 
                      ('}\n') ('\n') ('char *\n') ('xstrdup (const char *string)\n') ('{\n') 
                      ('  return string ? strcpy ((char *) xmalloc (strlen (string) + 1),\n') ('\t\t\t  string) : NULL;\n') ('}\n') ('\n') ('const char *\n') ('base_name (const char *name)\n') ('{\n') 
                      ('  const char *base;\n') ('\n') ('#if defined HAVE_DOS_BASED_FILE_SYSTEM\n') 
                      ('  /* Skip over the disk name in MSDOS pathnames. */\n') ("  if (isalpha ((unsigned char) name[0]) && name[1] == ':')\n") ('    name += 2;\n') ('#endif\n') 
                      ('\n') ('  for (base = name; *name; name++)\n') ('    if (IS_DIR_SEPARATOR (*name))\n') 
                      ('      base = name + 1;\n') ('  return base;\n') ('}\n') ('\n') ('int\n') ('check_executable (const char *path)\n') ('{\n') 
                      ('  struct stat st;\n') ('\n') ('  lt_debugprintf (__FILE__, __LINE__, "(check_executable): %s\\n",\n') 
                      ('                  nonempty (path));\n') ('  if ((!path) || (!*path))\n') ('    return 0;\n') ('\n') ('  if ((stat (path, &st) >= 0)\n') 
                      ('      && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))\n') ('    return 1;\n') ('  else\n') ('    return 0;\n') ('}\n') ('\n') ('int\n') 
                      ('make_executable (const char *path)\n') ('{\n') ('  int rval = 0;\n') ('  struct stat st;\n') ('\n') 
                      ('  lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\\n",\n') ('                  nonempty (path));\n') ('  if ((!path) || (!*path))\n') ('    return 0;\n') ('\n') 
                      ('  if (stat (path, &st) >= 0)\n') ('    {\n') ('      rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);\n') ('    }\n') 
                      ('  return rval;\n') ('}\n') ('\n') ('/* Searches for the full path of the wrapper.  Returns\n') 
                      ('   newly allocated full path name if found, NULL otherwise\n') ('   Does not chase symlinks, even on platforms that support them.\n') ('*/\n') ('char *\n') 
                      ('find_executable (const char *wrapper)\n') ('{\n') ('  int has_slash = 0;\n') ('  const char *p;\n') ('  const char *p_next;\n') 
                      ('  /* static buffer for getcwd */\n') ('  char tmp[LT_PATHMAX + 1];\n') ('  size_t tmp_len;\n') ('  char *concat_name;\n') ('\n') 
                      ('  lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\\n",\n') ('                  nonempty (wrapper));\n') ('\n') 
                      ("  if ((wrapper == NULL) || (*wrapper == '\\0'))\n") ('    return NULL;\n') ('\n') ('  /* Absolute path? */\n') ('#if defined HAVE_DOS_BASED_FILE_SYSTEM\n') 
                      ("  if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')\n") ('    {\n') ('      concat_name = xstrdup (wrapper);\n') 
                      ('      if (check_executable (concat_name))\n') ('\treturn concat_name;\n') ('      XFREE (concat_name);\n') ('    }\n') ('  else\n') ('    {\n') 
                      ('#endif\n') ('      if (IS_DIR_SEPARATOR (wrapper[0]))\n') ('\t{\n') ('\t  concat_name = xstrdup (wrapper);\n') 
                      ('\t  if (check_executable (concat_name))\n') ('\t    return concat_name;\n') ('\t  XFREE (concat_name);\n') ('\t}\n') 
                      ('#if defined HAVE_DOS_BASED_FILE_SYSTEM\n') ('    }\n') ('#endif\n') ('\n') ('  for (p = wrapper; *p; p++)\n') ("    if (*p == '/')\n") ('      {\n') 
                      ('\thas_slash = 1;\n') ('\tbreak;\n') ('      }\n') ('  if (!has_slash)\n') ('    {\n') 
                      ('      /* no slashes; search PATH */\n') ('      const char *path = getenv ("PATH");\n') ('      if (path != NULL)\n') ('\t{\n') 
                      ('\t  for (p = path; *p; p = p_next)\n') ('\t    {\n') ('\t      const char *q;\n') ('\t      size_t p_len;\n') 
                      ('\t      for (q = p; *q; q++)\n') ('\t\tif (IS_PATH_SEPARATOR (*q))\n') ('\t\t  break;\n') ('\t      p_len = (size_t) (q - p);\n') 
                      ("\t      p_next = (*q == '\\0' ? q : q + 1);\n") ('\t      if (p_len == 0)\n') ('\t\t{\n') ('\t\t  /* empty path: current directory */\n') 
                      ('\t\t  if (getcwd (tmp, LT_PATHMAX) == NULL)\n') ('\t\t    lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",\n') 
                      ('                              nonnull (strerror (errno)));\n') ('\t\t  tmp_len = strlen (tmp);\n') ('\t\t  concat_name =\n') 
                      ('\t\t    XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);\n') ('\t\t  memcpy (concat_name, tmp, tmp_len);\n') ("\t\t  concat_name[tmp_len] = '/';\n") 
                      ('\t\t  strcpy (concat_name + tmp_len + 1, wrapper);\n') ('\t\t}\n') ('\t      else\n') ('\t\t{\n') ('\t\t  concat_name =\n') 
                      ('\t\t    XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);\n') ('\t\t  memcpy (concat_name, p, p_len);\n') ("\t\t  concat_name[p_len] = '/';\n") 
                      ('\t\t  strcpy (concat_name + p_len + 1, wrapper);\n') ('\t\t}\n') ('\t      if (check_executable (concat_name))\n') ('\t\treturn concat_name;\n') 
                      ('\t      XFREE (concat_name);\n') ('\t    }\n') ('\t}\n') ('      /* not found in PATH; assume curdir */\n') ('    }\n') 
                      ('  /* Relative path | not found in path: prepend cwd */\n') ('  if (getcwd (tmp, LT_PATHMAX) == NULL)\n') 
                      ('    lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",\n') ('              nonnull (strerror (errno)));\n') ('  tmp_len = strlen (tmp);\n') 
                      ('  concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);\n') ('  memcpy (concat_name, tmp, tmp_len);\n') ("  concat_name[tmp_len] = '/';\n") 
                      ('  strcpy (concat_name + tmp_len + 1, wrapper);\n') ('\n') ('  if (check_executable (concat_name))\n') ('    return concat_name;\n') 
                      ('  XFREE (concat_name);\n') ('  return NULL;\n') ('}\n') ('\n') ('char *\n') ('chase_symlinks (const char *pathspec)\n') ('{\n') 
                      ('#ifndef S_ISLNK\n') ('  return xstrdup (pathspec);\n') ('#else\n') ('  char buf[LT_PATHMAX];\n') ('  struct stat s;\n') 
                      ('  char *tmp_pathspec = xstrdup (pathspec);\n') ('  char *p;\n') ('  int has_symlinks = 0;\n') ('  while (strlen (tmp_pathspec) && !has_symlinks)\n') 
                      ('    {\n') ('      lt_debugprintf (__FILE__, __LINE__,\n') 
                      ('\t\t      "checking path component for symlinks: %s\\n",\n') ('\t\t      tmp_pathspec);\n') ('      if (lstat (tmp_pathspec, &s) == 0)\n') ('\t{\n') 
                      ('\t  if (S_ISLNK (s.st_mode) != 0)\n') ('\t    {\n') ('\t      has_symlinks = 1;\n') ('\t      break;\n') ('\t    }\n') ('\n') 
                      ('\t  /* search backwards for last DIR_SEPARATOR */\n') ('\t  p = tmp_pathspec + strlen (tmp_pathspec) - 1;\n') 
                      ('\t  while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))\n') ('\t    p--;\n') ('\t  if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))\n') ('\t    {\n') 
                      ('\t      /* no more DIR_SEPARATORS left */\n') ('\t      break;\n') ('\t    }\n') ("\t  *p = '\\0';\n") ('\t}\n') ('      else\n') ('\t{\n') 
                      ('\t  lt_fatal (__FILE__, __LINE__,\n') ('\t\t    "error accessing file \\"%s\\": %s",\n') 
                      ('\t\t    tmp_pathspec, nonnull (strerror (errno)));\n') ('\t}\n') ('    }\n') ('  XFREE (tmp_pathspec);\n') ('\n') ('  if (!has_symlinks)\n') ('    {\n') 
                      ('      return xstrdup (pathspec);\n') ('    }\n') ('\n') ('  tmp_pathspec = realpath (pathspec, buf);\n') ('  if (tmp_pathspec == 0)\n') 
                      ('    {\n') ('      lt_fatal (__FILE__, __LINE__,\n') ('\t\t"could not follow symlinks for %s", pathspec);\n') 
                      ('    }\n') ('  return xstrdup (tmp_pathspec);\n') ('#endif\n') ('}\n') ('\n') ('char *\n') 
                      ('strendzap (char *str, const char *pat)\n') ('{\n') ('  size_t len, patlen;\n') ('\n') ('  assert (str != NULL);\n') ('  assert (pat != NULL);\n') 
                      ('\n') ('  len = strlen (str);\n') ('  patlen = strlen (pat);\n') ('\n') ('  if (patlen <= len)\n') ('    {\n') 
                      ('      str += len - patlen;\n') ('      if (STREQ (str, pat))\n') ("\t*str = '\\0';\n") ('    }\n') ('  return str;\n') ('}\n') ('\n') 
                      ('void\n') ('lt_debugprintf (const char *file, int line, const char *fmt, ...)\n') ('{\n') ('  va_list args;\n') 
                      ('  if (lt_debug)\n') ('    {\n') ('      (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line);\n') 
                      ('      va_start (args, fmt);\n') ('      (void) vfprintf (stderr, fmt, args);\n') ('      va_end (args);\n') ('    }\n') ('}\n') ('\n') 
                      ('static void\n') ('lt_error_core (int exit_status, const char *file,\n') ('\t       int line, const char *mode,\n') 
                      ('\t       const char *message, va_list ap)\n') ('{\n') ('  fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode);\n') 
                      ('  vfprintf (stderr, message, ap);\n') ('  fprintf (stderr, ".\\n");\n') ('\n') ('  if (exit_status >= 0)\n') ('    exit (exit_status);\n') 
                      ('}\n') ('\n') ('void\n') ('lt_fatal (const char *file, int line, const char *message, ...)\n') ('{\n') 
                      ('  va_list ap;\n') ('  va_start (ap, message);\n') 
                      ('  lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap);\n') ('  va_end (ap);\n') ('}\n') ('\n') ('static const char *\n') ('nonnull (const char *s)\n') ('{\n') 
                      ('  return s ? s : "(null)";\n') ('}\n') ('\n') ('static const char *\n') ('nonempty (const char *s)\n') ('{\n') 
                      ('  return (s && !*s) ? "(empty)" : nonnull (s);\n') ('}\n') ('\n') ('void\n') ('lt_setenv (const char *name, const char *value)\n') ('{\n') 
                      ('  lt_debugprintf (__FILE__, __LINE__,\n') ('\t\t  "(lt_setenv) setting \'%s\' to \'%s\'\\n",\n') 
                      ('                  nonnull (name), nonnull (value));\n') ('  {\n') ('#ifdef HAVE_SETENV\n') 
                      ('    /* always make a copy, for consistency with !HAVE_SETENV */\n') ('    char *str = xstrdup (value);\n') ('    setenv (name, str, 1);\n') ('#else\n') 
                      ('    size_t len = strlen (name) + 1 + strlen (value) + 1;\n') ('    char *str = XMALLOC (char, len);\n') ('    sprintf (str, "%s=%s", name, value);\n') 
                      ('    if (putenv (str) != EXIT_SUCCESS)\n') ('      {\n') ('        XFREE (str);\n') ('      }\n') ('#endif\n') ('  }\n') ('}\n') ('\n') ('char *\n') 
                      ('lt_extend_str (const char *orig_value, const char *add, int to_end)\n') ('{\n') ('  char *new_value;\n') ('  if (orig_value && *orig_value)\n') ('    {\n') 
                      ('      size_t orig_value_len = strlen (orig_value);\n') ('      size_t add_len = strlen (add);\n') 
                      ('      new_value = XMALLOC (char, add_len + orig_value_len + 1);\n') ('      if (to_end)\n') ('        {\n') ('          strcpy (new_value, orig_value);\n') 
                      ('          strcpy (new_value + orig_value_len, add);\n') ('        }\n') ('      else\n') ('        {\n') ('          strcpy (new_value, add);\n') 
                      ('          strcpy (new_value + add_len, orig_value);\n') ('        }\n') ('    }\n') ('  else\n') ('    {\n') ('      new_value = xstrdup (add);\n') ('    }\n') 
                      ('  return new_value;\n') ('}\n') ('\n') ('void\n') ('lt_update_exe_path (const char *name, const char *value)\n') ('{\n') 
                      ('  lt_debugprintf (__FILE__, __LINE__,\n') ('\t\t  "(lt_update_exe_path) modifying \'%s\' by prepending \'%s\'\\n",\n') 
                      ('                  nonnull (name), nonnull (value));\n') ('\n') ('  if (name && *name && value && *value)\n') ('    {\n') 
                      ('      char *new_value = lt_extend_str (getenv (name), value, 0);\n') ("      /* some systems can't cope with a ':'-terminated path #' */\n") 
                      ('      size_t len = strlen (new_value);\n') ('      while ((len > 0) && IS_PATH_SEPARATOR (new_value[len-1]))\n') ('        {\n') 
                      ("          new_value[--len] = '\\0';\n") ('        }\n') ('      lt_setenv (name, new_value);\n') ('      XFREE (new_value);\n') ('    }\n') 
                      ('}\n') ('\n') ('void\n') ('lt_update_lib_path (const char *name, const char *value)\n') ('{\n') 
                      ('  lt_debugprintf (__FILE__, __LINE__,\n') ('\t\t  "(lt_update_lib_path) modifying \'%s\' by prepending \'%s\'\\n",\n') 
                      ('                  nonnull (name), nonnull (value));\n') ('\n') ('  if (name && *name && value && *value)\n') ('    {\n') 
                      ('      char *new_value = lt_extend_str (getenv (name), value, 0);\n') ('      lt_setenv (name, new_value);\n') ('      XFREE (new_value);\n') ('    }\n') ('}\n') ('\n')
                    }
                  do_expansion: False
                  here_end: EOF
                  was_filled: T
                  spids: [27672]
                )
              ]
            )
            (Case
              to_match: {($ VSub_Name '$host_os')}
              arms: [
                (case_arm
                  pat_list: [{(mingw) (Lit_Other '*')}]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {('\n') ('/* Prepares an argument vector before calling spawn().\n') 
                              (
'   Note that spawn() does not by itself call the command interpreter\n'
                              ) ('     (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") :\n') 
                              (
'      ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);\n'
                              ) ('         GetVersionEx(&v);\n') ('         v.dwPlatformId == VER_PLATFORM_WIN32_NT;\n') 
                              ('      }) ? "cmd.exe" : "command.com").\n') ("   Instead it simply concatenates the arguments, separated by ' ', and calls\n") 
                              (
'   CreateProcess().  We must quote the arguments since Win32 CreateProcess()\n'
                              ) ('   interprets characters like \' \', \'\\t\', \'\\\\\', \'"\' (but not \'<\' and \'>\') in a\n') 
                              ('   special way:\n') ('   - Space and tab are interpreted as delimiters. They are not treated as\n') 
                              ('     delimiters if they are surrounded by double quotes: "...".\n') ('   - Unescaped double quotes are removed from the input. Their only effect is\n') 
                              (
'     that within double quotes, space and tab are treated like normal\n'
                              ) ('     characters.\n') ('   - Backslashes not followed by double quotes are not special.\n') 
                              ('   - But 2*n+1 backslashes followed by a double quote become\n') ('     n backslashes followed by a double quote (n >= 0):\n') ('       \\" -> "\n') 
                              ('       \\\\\\" -> \\"\n') ('       \\\\\\\\\\" -> \\\\"\n') (' */\n') 
                              (
'#define SHELL_SPECIAL_CHARS "\\"\\\\ \\001\\002\\003\\004\\005\\006\\007\\010\\011\\012\\013\\014\\015\\016\\017\\020\\021\\022\\023\\024\\025\\026\\027\\030\\031\\032\\033\\034\\035\\036\\037"\n'
                              ) 
                              (
'#define SHELL_SPACE_CHARS " \\001\\002\\003\\004\\005\\006\\007\\010\\011\\012\\013\\014\\015\\016\\017\\020\\021\\022\\023\\024\\025\\026\\027\\030\\031\\032\\033\\034\\035\\036\\037"\n'
                              ) ('char **\n') ('prepare_spawn (char **argv)\n') ('{\n') ('  size_t argc;\n') ('  char **new_argv;\n') 
                              ('  size_t i;\n') ('\n') ('  /* Count number of arguments.  */\n') ('  for (argc = 0; argv[argc] != NULL; argc++)\n') 
                              ('    ;\n') ('\n') ('  /* Allocate new argument vector.  */\n') ('  new_argv = XMALLOC (char *, argc + 1);\n') 
                              ('\n') ('  /* Put quoted arguments into the new argument vector.  */\n') ('  for (i = 0; i < argc; i++)\n') 
                              ('    {\n') ('      const char *string = argv[i];\n') ('\n') ("      if (string[0] == '\\0')\n") 
                              ('\tnew_argv[i] = xstrdup ("\\"\\"");\n') ('      else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL)\n') ('\t{\n') 
                              (
'\t  int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL);\n'
                              ) ('\t  size_t length;\n') ('\t  unsigned int backslashes;\n') ('\t  const char *s;\n') 
                              ('\t  char *quoted_string;\n') ('\t  char *p;\n') ('\n') ('\t  length = 0;\n') ('\t  backslashes = 0;\n') ('\t  if (quote_around)\n') 
                              ('\t    length++;\n') ("\t  for (s = string; *s != '\\0'; s++)\n") ('\t    {\n') ('\t      char c = *s;\n') 
                              ('\t      if (c == \'"\')\n') ('\t\tlength += backslashes + 1;\n') ('\t      length++;\n') ("\t      if (c == '\\\\')\n") 
                              ('\t\tbackslashes++;\n') ('\t      else\n') ('\t\tbackslashes = 0;\n') ('\t    }\n') ('\t  if (quote_around)\n') 
                              ('\t    length += backslashes + 1;\n') ('\n') ('\t  quoted_string = XMALLOC (char, length + 1);\n') ('\n') ('\t  p = quoted_string;\n') 
                              ('\t  backslashes = 0;\n') ('\t  if (quote_around)\n') ('\t    *p++ = \'"\';\n') ("\t  for (s = string; *s != '\\0'; s++)\n") 
                              ('\t    {\n') ('\t      char c = *s;\n') ('\t      if (c == \'"\')\n') ('\t\t{\n') ('\t\t  unsigned int j;\n') 
                              ('\t\t  for (j = backslashes + 1; j > 0; j--)\n') ("\t\t    *p++ = '\\\\';\n") ('\t\t}\n') ('\t      *p++ = c;\n') ("\t      if (c == '\\\\')\n") 
                              ('\t\tbackslashes++;\n') ('\t      else\n') ('\t\tbackslashes = 0;\n') ('\t    }\n') ('\t  if (quote_around)\n') ('\t    {\n') 
                              ('\t      unsigned int j;\n') ('\t      for (j = backslashes; j > 0; j--)\n') ("\t\t*p++ = '\\\\';\n") ('\t      *p++ = \'"\';\n') 
                              ('\t    }\n') ("\t  *p = '\\0';\n") ('\n') ('\t  new_argv[i] = quoted_string;\n') ('\t}\n') ('      else\n') 
                              ('\tnew_argv[i] = (char *) string;\n') ('    }\n') ('  new_argv[argc] = NULL;\n') ('\n') ('  return new_argv;\n') ('}\n')
                            }
                          do_expansion: False
                          here_end: EOF
                          was_filled: T
                          spids: [27692]
                        )
                      ]
                    )
                  ]
                  spids: [27685 27687 27698 16777215]
                )
              ]
              spids: [27678 27682 27701]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: {('void lt_dump_script (FILE* f)\n') ('{\n')}
                  do_expansion: False
                  here_end: EOF
                  was_filled: T
                  spids: [27707]
                )
              ]
            )
            (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_id: Redir_DLess
                  fd: 16777215
                  body: {('}\n')}
                  do_expansion: False
                  here_end: EOF
                  was_filled: T
                  spids: [27741]
                )
              ]
            )
          ]
          spids: [27237]
        )
      spids: [27232 27236]
    )
    (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_id: Redir_Great
                                    fd: 2
                                    arg_word: {(/dev/null)}
                                    spids: [27782]
                                  )
                                ]
                              )
                              (C {($ VSub_Name '$SED')} {(-e)} {(10q)})
                            ]
                            negated: F
                          )
                        ]
                      )
                    left_token: <Left_Backtick '`'>
                    spids: [27772 27792]
                  )
                }
              arms: [
                (case_arm
                  pat_list: [{(Lit_Other '*') (import) (Lit_Other '*')}]
                  action: [(C {(Lit_Other ':')})]
                  spids: [27797 27800 27804 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [(C {(false)})]
                  spids: [27807 27808 27812 16777215]
                )
              ]
              spids: [27770 27794 27815]
            )
          ]
          spids: [27763]
        )
      spids: [27758 27762]
    )
    (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: [27891]
                        )
                      ]
                      spids: [27891]
                    )
                  ]
                  spids: [27855 27888 27895 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: [27902]
                        )
                      ]
                      spids: [27902]
                    )
                  ]
                  spids: [27898 27899 27906 16777215]
                )
              ]
              spids: [27844 27852 27909]
            )
          ]
          spids: [27837]
        )
      spids: [27832 27836]
    )
    (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: [28015]
                        )
                      ]
                      spids: [28015]
                    )
                  ]
                  spids: [27936 27971 28019 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: [28026]
                        )
                      ]
                      spids: [28026]
                    )
                  ]
                  spids: [28022 28023 28030 16777215]
                )
              ]
              spids: [27929 27933 28033]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libtool_args)
                  op: Equal
                  rhs: {($ VSub_Name '$nonopt')}
                  spids: [28036]
                )
              ]
              spids: [28036]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:base_compile)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$nonopt') (' ') ($ VSub_At '$@'))}
                  spids: [28040]
                )
              ]
              spids: [28040]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compile_command)
                  op: Equal
                  rhs: {($ VSub_Name '$nonopt')}
                  spids: [28048]
                )
              ]
              spids: [28048]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:finalize_command)
                  op: Equal
                  rhs: {($ VSub_Name '$nonopt')}
                  spids: [28052]
                )
              ]
              spids: [28052]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compile_rpath)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28057]
                )
              ]
              spids: [28057]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:finalize_rpath)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28060]
                )
              ]
              spids: [28060]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compile_shlibpath)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28063]
                )
              ]
              spids: [28063]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:finalize_shlibpath)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28066]
                )
              ]
              spids: [28066]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:convenience)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28069]
                )
              ]
              spids: [28069]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:old_convenience)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28072]
                )
              ]
              spids: [28072]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:deplibs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28075]
                )
              ]
              spids: [28075]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:old_deplibs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28078]
                )
              ]
              spids: [28078]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compiler_flags)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28081]
                )
              ]
              spids: [28081]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:linker_flags)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28084]
                )
              ]
              spids: [28084]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:dllsearchpath)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28087]
                )
              ]
              spids: [28087]
            )
            (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: [28091 28093]
                      )
                    }
                  spids: [28090]
                )
              ]
              spids: [28090]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:inst_prefix_dir)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28096]
                )
              ]
              spids: [28096]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:new_inherited_linker_flags)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28099]
                )
              ]
              spids: [28099]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:avoid_version)
                  op: Equal
                  rhs: {(no)}
                  spids: [28103]
                )
              ]
              spids: [28103]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:bindir)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28107]
                )
              ]
              spids: [28107]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:dlfiles)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28110]
                )
              ]
              spids: [28110]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:dlprefiles)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28113]
                )
              ]
              spids: [28113]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:dlself) op:Equal rhs:{(no)} spids:[28116])]
              spids: [28116]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:export_dynamic)
                  op: Equal
                  rhs: {(no)}
                  spids: [28120]
                )
              ]
              spids: [28120]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:export_symbols)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28124]
                )
              ]
              spids: [28124]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:export_symbols_regex)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28127]
                )
              ]
              spids: [28127]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:generated)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28130]
                )
              ]
              spids: [28130]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libobjs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28133]
                )
              ]
              spids: [28133]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ltlibs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28136]
                )
              ]
              spids: [28136]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:module) op:Equal rhs:{(no)} spids:[28139])]
              spids: [28139]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:no_install) op:Equal rhs:{(no)} spids:[28143])]
              spids: [28143]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:objs) op:Equal rhs:{(EmptyPart)} spids:[28147])]
              spids: [28147]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:os2dllname)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28150]
                )
              ]
              spids: [28150]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:non_pic_objects)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28153]
                )
              ]
              spids: [28153]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:precious_files_regex)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28156]
                )
              ]
              spids: [28156]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:prefer_static_libs)
                  op: Equal
                  rhs: {(no)}
                  spids: [28159]
                )
              ]
              spids: [28159]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:preload) op:Equal rhs:{(false)} spids:[28163])]
              spids: [28163]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:prev) op:Equal rhs:{(EmptyPart)} spids:[28167])]
              spids: [28167]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:prevarg)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28170]
                )
              ]
              spids: [28170]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:release)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28173]
                )
              ]
              spids: [28173]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:rpath) op:Equal rhs:{(EmptyPart)} spids:[28176])]
              spids: [28176]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:xrpath)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28179]
                )
              ]
              spids: [28179]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:perm_rpath)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28182]
                )
              ]
              spids: [28182]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:temp_rpath)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28185]
                )
              ]
              spids: [28185]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:thread_safe) op:Equal rhs:{(no)} spids:[28188])]
              spids: [28188]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:vinfo) op:Equal rhs:{(EmptyPart)} spids:[28192])]
              spids: [28192]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:vinfo_number) op:Equal rhs:{(no)} spids:[28195])]
              spids: [28195]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:weak_libs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [28199]
                )
              ]
              spids: [28199]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:single_module)
                  op: Equal
                  rhs: {($ VSub_Name '$wl') (-single_module)}
                  spids: [28202]
                )
              ]
              spids: [28202]
            )
            (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: [28258]
                                )
                              ]
                              spids: [28258]
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [28232 28233 28265 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 28314]
                                        )
                                      ]
                                      spids: [16777215 28324]
                                    )
                                    (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: [28341]
                                                )
                                              ]
                                              spids: [28341]
                                            )
                                          ]
                                          spids: [16777215 28338]
                                        )
                                      ]
                                      spids: [16777215 28345]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prefer_static_libs)
                                          op: Equal
                                          rhs: {(yes)}
                                          spids: [28348]
                                        )
                                      ]
                                      spids: [28348]
                                    )
                                  ]
                                  spids: [28287 28288 28352 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: [28383]
                                                )
                                              ]
                                              spids: [28383]
                                            )
                                          ]
                                          spids: [16777215 28380]
                                        )
                                      ]
                                      spids: [16777215 28387]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prefer_static_libs)
                                          op: Equal
                                          rhs: {(built)}
                                          spids: [28390]
                                        )
                                      ]
                                      spids: [28390]
                                    )
                                  ]
                                  spids: [28355 28356 28394 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: [28425]
                                                )
                                              ]
                                              spids: [28425]
                                            )
                                          ]
                                          spids: [16777215 28422]
                                        )
                                      ]
                                      spids: [16777215 28429]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prefer_static_libs)
                                          op: Equal
                                          rhs: {(yes)}
                                          spids: [28432]
                                        )
                                      ]
                                      spids: [28432]
                                    )
                                  ]
                                  spids: [28397 28398 28436 16777215]
                                )
                              ]
                              spids: [28280 28284 28439]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_libtool_libs)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [28442]
                                )
                              ]
                              spids: [28442]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_old_libs)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [28446]
                                )
                              ]
                              spids: [28446]
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [28268 28277 28453 16777215]
                        )
                      ]
                      spids: [28225 28229 28456]
                    )
                  ]
                  spids: [28222 28459]
                )
              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: [28477]
                    )
                  ]
                  spids: [28477]
                )
              ]
            )
            (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: [28502]
                        )
                      ]
                      spids: [28502]
                    )
                    (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: [28516]
                        )
                      ]
                      spids: [28516]
                    )
                    (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: [28556 28557 28578 16777215]
                                )
                              ]
                              spids: [28549 28553 28581]
                            )
                            (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: [28596]
                                        )
                                      ]
                                      spids: [28596]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [28600]
                                        )
                                      ]
                                      spids: [28600]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [28592 28593 28606 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: [28644]
                                                )
                                              ]
                                              spids: [28644]
                                            )
                                          ]
                                          spids: [28619]
                                        )
                                      ]
                                    )
                                    (Case
                                      to_match: {($ VSub_Name '$arg')}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(Lit_Other '*') (.la)} {(Lit_Other '*') (.lo)}]
                                          spids: [28658 28665 28667 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: [28693]
                                                        )
                                                      ]
                                                      spids: [28693]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:export_dynamic)
                                                          op: Equal
                                                          rhs: {(yes)}
                                                          spids: [28697]
                                                        )
                                                      ]
                                                      spids: [28697]
                                                    )
                                                  ]
                                                  spids: [16777215 28690]
                                                )
                                              ]
                                              spids: [16777215 28701]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:prev)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [28704]
                                                )
                                              ]
                                              spids: [28704]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [28673 28674 28710 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: [28733]
                                                        )
                                                      ]
                                                      spids: [28733]
                                                    )
                                                  ]
                                                  spids: [16777215 28730]
                                                )
                                                (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: [28766]
                                                        )
                                                      ]
                                                      spids: [28766]
                                                    )
                                                  ]
                                                  spids: [28737 28763]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:dlself)
                                                      op: Equal
                                                      rhs: {(needless)}
                                                      spids: [28773]
                                                    )
                                                  ]
                                                  spids: [28773]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:export_dynamic)
                                                      op: Equal
                                                      rhs: {(yes)}
                                                      spids: [28777]
                                                    )
                                                  ]
                                                  spids: [28777]
                                                )
                                              ]
                                              spids: [28770 28781]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:prev)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [28784]
                                                )
                                              ]
                                              spids: [28784]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [28713 28714 28790 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 28810]
                                                )
                                              ]
                                              else_action: [
                                                (C {(func_append)} {(dlprefiles)} 
                                                  {(DQ (' ') ($ VSub_Name '$arg'))}
                                                )
                                              ]
                                              spids: [28823 28836]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:prev)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [28839]
                                                )
                                              ]
                                              spids: [28839]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [28793 28794 28845 16777215]
                                        )
                                      ]
                                      spids: [28651 28655 28848]
                                    )
                                  ]
                                  spids: [28609 28612 28851 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: [28858]
                                        )
                                      ]
                                      spids: [28858]
                                    )
                                    (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: [28883]
                                        )
                                      ]
                                      spids: [28883]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [28854 28855 28889 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: [28896]
                                        )
                                      ]
                                      spids: [28896]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [28900]
                                        )
                                      ]
                                      spids: [28900]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [28892 28893 28906 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: [28938 28945 28947 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (C {(func_append)} {(deplibs)} 
                                                      {
                                                        (DQ (' ') ($ VSub_Name '$qarg') (.ltframework))
                                                      }
                                                    )
                                                  ]
                                                  spids: [28950 28951 28967 16777215]
                                                )
                                              ]
                                              spids: [28928 28935 28970]
                                            )
                                          ]
                                          spids: [28920 28925 28973 16777215]
                                        )
                                      ]
                                      spids: [28913 28917 28976]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [28979]
                                        )
                                      ]
                                      spids: [28979]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [28909 28910 28985 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: [28992]
                                        )
                                      ]
                                      spids: [28992]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [28996]
                                        )
                                      ]
                                      spids: [28996]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [28988 28989 29002 16777215]
                                )
                                (case_arm
                                  pat_list: [{(mllvm)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [29017]
                                        )
                                      ]
                                      spids: [29017]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [29005 29006 29023 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: [29044]
                                                )
                                              ]
                                              spids: [29044]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:moreargs)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [29048]
                                                )
                                              ]
                                              spids: [29048]
                                            )
                                            (ForEach
                                              iter_name: fil
                                              iter_words: [
                                                {
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (C {(cat)} {(DQ ($ VSub_Name '$save_arg'))})
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick '`'>
                                                    spids: [29057 29063]
                                                  )
                                                }
                                              ]
                                              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: [29072]
                                                        )
                                                      ]
                                                      spids: [29072]
                                                    )
                                                    (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: [29097]
                                                                )
                                                              ]
                                                              spids: [29097]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:non_pic_object)
                                                                  op: Equal
                                                                  rhs: {(EmptyPart)}
                                                                  spids: [29100]
                                                                )
                                                              ]
                                                              spids: [29100]
                                                            )
                                                            (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 29164]
                                                                )
                                                              ]
                                                              spids: [16777215 29176]
                                                            )
                                                            (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: [29198]
                                                                )
                                                              ]
                                                              spids: [29198]
                                                            )
                                                            (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: [29224]
                                                                        )
                                                                      ]
                                                                      spids: [29224]
                                                                    )
                                                                    (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: [
29284
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [29284]
                                                                                    )
                                                                                    (ControlFlow
                                                                                      token: 
                                                                                        <
ControlFlow_Continue continue
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  spids: [
16777215
29271
                                                                                  ]
                                                                                )
                                                                              ]
                                                                              else_action: [
                                                                                (Assignment
                                                                                  keyword: 
Assign_None
                                                                                  pairs: [
                                                                                    (assign_pair
                                                                                      lhs: 
                                                                                        (LhsName
                                                                                          name: prev
                                                                                        )
                                                                                      op: Equal
                                                                                      rhs: 
                                                                                        {
                                                                                          (
dlprefiles
                                                                                          )
                                                                                        }
                                                                                      spids: [29297]
                                                                                    )
                                                                                  ]
                                                                                  spids: [29297]
                                                                                )
                                                                              ]
                                                                              spids: [29290 29301]
                                                                            )
                                                                          ]
                                                                          spids: [16777215 29243]
                                                                        )
                                                                      ]
                                                                      spids: [16777215 29304]
                                                                    )
                                                                    (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: [29342]
                                                                                )
                                                                              ]
                                                                              spids: [29342]
                                                                            )
                                                                          ]
                                                                          spids: [16777215 29325]
                                                                        )
                                                                      ]
                                                                      spids: [16777215 29345]
                                                                    )
                                                                    (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: [29363]
                                                                        )
                                                                      ]
                                                                      spids: [29363]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 29217]
                                                                )
                                                              ]
                                                              spids: [16777215 29367]
                                                            )
                                                            (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: [29396]
                                                                        )
                                                                      ]
                                                                      spids: [29396]
                                                                    )
                                                                    (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: [29442]
                                                                                )
                                                                              ]
                                                                              spids: [29442]
                                                                            )
                                                                          ]
                                                                          spids: [16777215 29439]
                                                                        )
                                                                      ]
                                                                      spids: [16777215 29446]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 29389]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: 
                                                                        (LhsName
                                                                          name: non_pic_object
                                                                        )
                                                                      op: Equal
                                                                      rhs: 
                                                                        {
                                                                          ($ VSub_Name '$pic_object')
                                                                        }
                                                                      spids: [29460]
                                                                    )
                                                                  ]
                                                                  spids: [29460]
                                                                )
                                                                (C {(func_append)} {(non_pic_objects)} 
                                                                  {
                                                                    (DQ (' ') 
                                                                      ($ VSub_Name '$non_pic_object')
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                              spids: [29449 29474]
                                                            )
                                                          ]
                                                          spids: [16777215 29094]
                                                        )
                                                      ]
                                                      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: [29510]
                                                                    )
                                                                  ]
                                                                  spids: [29510]
                                                                )
                                                                (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: [29522]
                                                                    )
                                                                  ]
                                                                  spids: [29522]
                                                                )
                                                                (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: [29529]
                                                                    )
                                                                  ]
                                                                  spids: [29529]
                                                                )
                                                                (C {(func_append)} {(libobjs)} 
                                                                  {
                                                                    (DQ (' ') 
                                                                      ($ VSub_Name '$pic_object')
                                                                    )
                                                                  }
                                                                )
                                                                (C {(func_append)} {(non_pic_objects)} 
                                                                  {
                                                                    (DQ (' ') 
                                                                      ($ VSub_Name '$non_pic_object')
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                              spids: [16777215 29489]
                                                            )
                                                          ]
                                                          else_action: [
                                                            (C {(func_fatal_error)} 
                                                              {
                                                                (DQ ("'") ($ VSub_Name '$arg') 
                                                                  (
"' is not a valid libtool object"
                                                                  )
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [29554 29566]
                                                        )
                                                      ]
                                                      spids: [29477 29569]
                                                    )
                                                  ]
                                                  spids: [29066 29572]
                                                )
                                              spids: [29056 16777215]
                                            )
                                          ]
                                          spids: [16777215 29041]
                                        )
                                      ]
                                      else_action: [
                                        (C {(func_fatal_error)} 
                                          {
                                            (DQ ("link input file '") ($ VSub_Name '$arg') 
                                              ("' does not exist")
                                            )
                                          }
                                        )
                                      ]
                                      spids: [29575 29587]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:arg)
                                          op: Equal
                                          rhs: {($ VSub_Name '$save_arg')}
                                          spids: [29590]
                                        )
                                      ]
                                      spids: [29590]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [29594]
                                        )
                                      ]
                                      spids: [29594]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [29026 29027 29600 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: [29607]
                                        )
                                      ]
                                      spids: [29607]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [29611]
                                        )
                                      ]
                                      spids: [29611]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [29603 29604 29617 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: [29624]
                                        )
                                      ]
                                      spids: [29624]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [29628]
                                        )
                                      ]
                                      spids: [29628]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [29620 29621 29634 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: [29641]
                                        )
                                      ]
                                      spids: [29641]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [29646]
                                        )
                                      ]
                                      spids: [29646]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [29637 29638 29652 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: [29674 29691 29693 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_fatal_error)} 
                                              {(DQ ('only absolute run-paths are allowed'))}
                                            )
                                          ]
                                          spids: [29696 29697 29707 16777215]
                                        )
                                      ]
                                      spids: [29667 29671 29710]
                                    )
                                    (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: [29739 29746 29748 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (C {(func_append)} {(rpath)} 
                                                      {(DQ (' ') ($ VSub_Name '$arg'))}
                                                    )
                                                  ]
                                                  spids: [29751 29752 29763 16777215]
                                                )
                                              ]
                                              spids: [29729 29736 29766]
                                            )
                                          ]
                                          spids: [16777215 29726]
                                        )
                                      ]
                                      else_action: [
                                        (Case
                                          to_match: {(DQ ($ VSub_Name '$xrpath') (' '))}
                                          arms: [
                                            (case_arm
                                              pat_list: [
                                                {(Lit_Other '*') 
                                                  (DQ (' ') ($ VSub_Name '$arg') (' ')) (Lit_Other '*')
                                                }
                                              ]
                                              spids: [29782 29789 29791 16777215]
                                            )
                                            (case_arm
                                              pat_list: [{(Lit_Other '*')}]
                                              action: [
                                                (C {(func_append)} {(xrpath)} 
                                                  {(DQ (' ') ($ VSub_Name '$arg'))}
                                                )
                                              ]
                                              spids: [29794 29795 29806 16777215]
                                            )
                                          ]
                                          spids: [29772 29779 29809]
                                        )
                                      ]
                                      spids: [29769 29812]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [29815]
                                        )
                                      ]
                                      spids: [29815]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [29655 29660 29821 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: [29828]
                                        )
                                      ]
                                      spids: [29828]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [29832]
                                        )
                                      ]
                                      spids: [29832]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [29824 29825 29838 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: [29855]
                                        )
                                      ]
                                      spids: [29855]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [29841 29842 29861 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: [29888]
                                        )
                                      ]
                                      spids: [29888]
                                    )
                                    (C {(func_append)} {(compile_command)} 
                                      {(DQ (' ') ($ VSub_Name '$qarg'))}
                                    )
                                    (C {(func_append)} {(finalize_command)} 
                                      {(DQ (' ') ($ VSub_Name '$qarg'))}
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [29864 29865 29914 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: [29931]
                                        )
                                      ]
                                      spids: [29931]
                                    )
                                    (C {(func_append)} {(compile_command)} 
                                      {(DQ (' ') ($ VSub_Name '$qarg'))}
                                    )
                                    (C {(func_append)} {(finalize_command)} 
                                      {(DQ (' ') ($ VSub_Name '$qarg'))}
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [29917 29918 29957 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: [29985]
                                        )
                                      ]
                                      spids: [29985]
                                    )
                                    (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: [29960 29961 30013 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: [30032]
                                        )
                                      ]
                                      spids: [30032]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [30016 30017 30038 16777215]
                                )
                              ]
                              spids: [28585 28589 30041]
                            )
                          ]
                          spids: [16777215 28546]
                        )
                      ]
                      spids: [16777215 30044]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:prevarg)
                          op: Equal
                          rhs: {($ VSub_Name '$arg')}
                          spids: [30051]
                        )
                      ]
                      spids: [30051]
                    )
                    (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 30078]
                                )
                              ]
                              spids: [16777215 30105]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [30063 30064 30111 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: [30115 30116 30130 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: [30138]
                                )
                              ]
                              spids: [30138]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [30134 30135 30145 16777215]
                        )
                        (case_arm
                          pat_list: [{(-bindir)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(bindir)}
                                  spids: [30153]
                                )
                              ]
                              spids: [30153]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [30149 30150 30160 16777215]
                        )
                        (case_arm
                          pat_list: [{(-dlopen)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(dlfiles)}
                                  spids: [30168]
                                )
                              ]
                              spids: [30168]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [30164 30165 30175 16777215]
                        )
                        (case_arm
                          pat_list: [{(-dlpreopen)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(dlprefiles)}
                                  spids: [30183]
                                )
                              ]
                              spids: [30183]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [30179 30180 30190 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: [30198]
                                )
                              ]
                              spids: [30198]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [30194 30195 30205 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 30238]
                                )
                              ]
                              spids: [16777215 30248]
                            )
                            (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: [30268]
                                        )
                                      ]
                                      spids: [30268]
                                    )
                                  ]
                                  spids: [16777215 30265]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:prev)
                                      op: Equal
                                      rhs: {(expsyms_regex)}
                                      spids: [30275]
                                    )
                                  ]
                                  spids: [30275]
                                )
                              ]
                              spids: [30272 30279]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [30209 30214 30285 16777215]
                        )
                        (case_arm
                          pat_list: [{(-framework)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(framework)}
                                  spids: [30293]
                                )
                              ]
                              spids: [30293]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [30289 30290 30300 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: [30308]
                                )
                              ]
                              spids: [30308]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [30304 30305 30315 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: [30349 30364 30387 16777215]
                                )
                              ]
                              spids: [30340 30346 30390]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [30327 30337 30396 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 30446]
                                        )
                                      ]
                                      else_action: [
                                        (C {(func_fatal_error)} {(DQ ("need path for '-L' option"))})
                                      ]
                                      spids: [30458 30468]
                                    )
                                  ]
                                  spids: [16777215 30430]
                                )
                              ]
                              spids: [16777215 30471]
                            )
                            (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: [30481]
                                )
                              ]
                              spids: [30481]
                            )
                            (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: [30496 30513 30515 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: [30523 30533]
                                              )
                                            }
                                          spids: [30522]
                                        )
                                      ]
                                      spids: [30522]
                                    )
                                    (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: [30557]
                                        )
                                      ]
                                      spids: [30557]
                                    )
                                  ]
                                  spids: [30518 30519 30561 16777215]
                                )
                              ]
                              spids: [30489 30493 30564]
                            )
                            (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: [30577 30594 30601 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: [30619 30641 30652 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_append)} {(deplibs)} 
                                              {(DQ (' -L') ($ VSub_Name '$dir'))}
                                            )
                                          ]
                                          spids: [30655 30656 30667 16777215]
                                        )
                                      ]
                                      spids: [30612 30616 30670]
                                    )
                                    (C {(func_append)} {(lib_search_path)} 
                                      {(DQ (' ') ($ VSub_Name '$dir'))}
                                    )
                                  ]
                                  spids: [30604 30605 30683 16777215]
                                )
                              ]
                              spids: [30567 30574 30686]
                            )
                            (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: [30735 30749]
                                              )
                                            }
                                          spids: [30734]
                                        )
                                      ]
                                      spids: [30734]
                                    )
                                    (Case
                                      to_match: 
                                        {(Lit_Other ':') ($ VSub_Name '$dllsearchpath') 
                                          (Lit_Other ':')
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (DQ (':') ($ VSub_Name '$dir') (':')) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [30761 30768 30770 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: [30777]
                                                )
                                              ]
                                              spids: [30777]
                                            )
                                          ]
                                          spids: [30773 30775 30779 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_append)} {(dllsearchpath)} 
                                              {(DQ (':') ($ VSub_Name '$dir'))}
                                            )
                                          ]
                                          spids: [30782 30783 30793 16777215]
                                        )
                                      ]
                                      spids: [30752 30758 30796]
                                    )
                                    (Case
                                      to_match: 
                                        {(Lit_Other ':') ($ VSub_Name '$dllsearchpath') 
                                          (Lit_Other ':')
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') 
                                              (DQ (':') ($ VSub_Name '$testbindir') (':')) (Lit_Other '*')
                                            }
                                          ]
                                          spids: [30808 30815 30817 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: [30824]
                                                )
                                              ]
                                              spids: [30824]
                                            )
                                          ]
                                          spids: [30820 30822 30826 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_append)} {(dllsearchpath)} 
                                              {(DQ (':') ($ VSub_Name '$testbindir'))}
                                            )
                                          ]
                                          spids: [30829 30830 30840 16777215]
                                        )
                                      ]
                                      spids: [30799 30805 30843]
                                    )
                                  ]
                                  spids: [30696 30731 30846 16777215]
                                )
                              ]
                              spids: [30689 30693 30849]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [30400 30402 30855 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: [30901 30944 30954 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: [30957 30962 30985 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: [30988 31017 31040 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: [31043 31058 31077 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: [31080 31093 31116 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: [31119 31148 31171 16777215]
                                        )
                                      ]
                                      spids: [30894 30898 31174]
                                    )
                                  ]
                                  spids: [16777215 30891]
                                )
                                (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: [31201 31230 31240 16777215]
                                        )
                                      ]
                                      spids: [31194 31198 31243]
                                    )
                                  ]
                                  spids: [31177 31191]
                                )
                              ]
                              spids: [16777215 31246]
                            )
                            (C {(func_append)} {(deplibs)} {(DQ (' ') ($ VSub_Name '$arg'))})
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [30859 30861 31262 16777215]
                        )
                        (case_arm
                          pat_list: [{(-mllvm)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(mllvm)}
                                  spids: [31270]
                                )
                              ]
                              spids: [31270]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31266 31267 31277 16777215]
                        )
                        (case_arm
                          pat_list: [{(-module)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:module)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [31285]
                                )
                              ]
                              spids: [31285]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31281 31282 31292 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: [31348]
                                )
                              ]
                              spids: [31348]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31308 31315 31355 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: [31434 31441 31443 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(func_append)} {(new_inherited_linker_flags)} 
                                      {(DQ (' ') ($ VSub_Name '$arg'))}
                                    )
                                  ]
                                  spids: [31446 31448 31459 16777215]
                                )
                              ]
                              spids: [31424 31431 31462]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31359 31391 31468 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: [31476]
                                )
                              ]
                              spids: [31476]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31472 31473 31484 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: [31492]
                                )
                              ]
                              spids: [31492]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31488 31489 31499 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: [31583]
                                        )
                                      ]
                                      spids: [31583]
                                    )
                                  ]
                                  spids: [31514 31557 31587 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: [31593]
                                        )
                                      ]
                                      spids: [31593]
                                    )
                                  ]
                                  spids: [31590 31591 31596 16777215]
                                )
                              ]
                              spids: [31507 31511 31599]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31503 31504 31605 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: [31613]
                                )
                              ]
                              spids: [31613]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31609 31610 31620 16777215]
                        )
                        (case_arm
                          pat_list: [{(-objectlist)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(objectlist)}
                                  spids: [31628]
                                )
                              ]
                              spids: [31628]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31624 31625 31635 16777215]
                        )
                        (case_arm
                          pat_list: [{(-os2dllname)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(os2dllname)}
                                  spids: [31643]
                                )
                              ]
                              spids: [31643]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31639 31640 31650 16777215]
                        )
                        (case_arm
                          pat_list: [{(-o)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(output)}
                                  spids: [31657]
                                )
                              ]
                              spids: [31657]
                            )
                          ]
                          spids: [31654 31655 31660 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: [31668]
                                )
                              ]
                              spids: [31668]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31664 31665 31675 16777215]
                        )
                        (case_arm
                          pat_list: [{(-release)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(release)}
                                  spids: [31683]
                                )
                              ]
                              spids: [31683]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31679 31680 31690 16777215]
                        )
                        (case_arm
                          pat_list: [{(-rpath)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(rpath)}
                                  spids: [31698]
                                )
                              ]
                              spids: [31698]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31694 31695 31705 16777215]
                        )
                        (case_arm
                          pat_list: [{(-R)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(xrpath)}
                                  spids: [31713]
                                )
                              ]
                              spids: [31713]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31709 31710 31720 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: [31743]
                                )
                              ]
                              spids: [31743]
                            )
                            (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: [31758 31775 31777 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: [31799]
                                        )
                                      ]
                                      spids: [31799]
                                    )
                                  ]
                                  spids: [31780 31782 31804 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(func_fatal_error)} 
                                      {(DQ ('only absolute run-paths are allowed'))}
                                    )
                                  ]
                                  spids: [31807 31808 31818 16777215]
                                )
                              ]
                              spids: [31751 31755 31821]
                            )
                            (Case
                              to_match: {(DQ ($ VSub_Name '$xrpath') (' '))}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$dir') (' ')) 
                                      (Lit_Other '*')
                                    }
                                  ]
                                  spids: [31834 31841 31843 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(func_append)} {(xrpath)} {(DQ (' ') ($ VSub_Name '$dir'))})
                                  ]
                                  spids: [31846 31847 31858 16777215]
                                )
                              ]
                              spids: [31824 31831 31861]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31724 31726 31867 16777215]
                        )
                        (case_arm
                          pat_list: [{(-shared)}]
                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                          spids: [31871 31872 31882 16777215]
                        )
                        (case_arm
                          pat_list: [{(-shrext)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(shrext)}
                                  spids: [31890]
                                )
                              ]
                              spids: [31890]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31886 31887 31897 16777215]
                        )
                        (case_arm
                          pat_list: [{(-static)} {(-static-libtool-libs)}]
                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                          spids: [31901 31906 31932 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: [31940]
                                )
                              ]
                              spids: [31940]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31936 31937 31947 16777215]
                        )
                        (case_arm
                          pat_list: [{(-version-info)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(vinfo)}
                                  spids: [31955]
                                )
                              ]
                              spids: [31955]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31951 31952 31962 16777215]
                        )
                        (case_arm
                          pat_list: [{(-version-number)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(vinfo)}
                                  spids: [31970]
                                )
                              ]
                              spids: [31970]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:vinfo_number)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [31974]
                                )
                              ]
                              spids: [31974]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31966 31967 31981 16777215]
                        )
                        (case_arm
                          pat_list: [{(-weak)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(weak)}
                                  spids: [31989]
                                )
                              ]
                              spids: [31989]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31985 31986 31996 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: [32020]
                                )
                              ]
                              spids: [32020]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [32024]
                                )
                              ]
                              spids: [32024]
                            )
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:save_ifs)
                                      op: Equal
                                      rhs: {($ VSub_Name '$IFS')}
                                      spids: [32027]
                                    )
                                  ]
                                  spids: [32027]
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(Lit_Comma ',')}
                                  spids: [32031]
                                )
                              ]
                              spids: [32031]
                            )
                            (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: [32047]
                                        )
                                      ]
                                      spids: [32047]
                                    )
                                    (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: [32044 32078]
                                )
                              spids: [32040 32042]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {($ VSub_Name '$save_ifs')}
                                  spids: [32081]
                                )
                              ]
                              spids: [32081]
                            )
                            (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: [32099]
                                )
                              ]
                              spids: [32099]
                            )
                          ]
                          spids: [32000 32003 32103 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: [32127]
                                )
                              ]
                              spids: [32127]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [32131]
                                )
                              ]
                              spids: [32131]
                            )
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:save_ifs)
                                      op: Equal
                                      rhs: {($ VSub_Name '$IFS')}
                                      spids: [32134]
                                    )
                                  ]
                                  spids: [32134]
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(Lit_Comma ',')}
                                  spids: [32138]
                                )
                              ]
                              spids: [32138]
                            )
                            (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: [32154]
                                        )
                                      ]
                                      spids: [32154]
                                    )
                                    (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: [32151 32197]
                                )
                              spids: [32147 32149]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {($ VSub_Name '$save_ifs')}
                                  spids: [32200]
                                )
                              ]
                              spids: [32200]
                            )
                            (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: [32218]
                                )
                              ]
                              spids: [32218]
                            )
                          ]
                          spids: [32107 32110 32222 16777215]
                        )
                        (case_arm
                          pat_list: [{(-Xcompiler)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(xcompiler)}
                                  spids: [32230]
                                )
                              ]
                              spids: [32230]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [32226 32227 32237 16777215]
                        )
                        (case_arm
                          pat_list: [{(-Xlinker)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(xlinker)}
                                  spids: [32245]
                                )
                              ]
                              spids: [32245]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [32241 32242 32252 16777215]
                        )
                        (case_arm
                          pat_list: [{(-XCClinker)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(xcclinker)}
                                  spids: [32260]
                                )
                              ]
                              spids: [32260]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [32256 32257 32267 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: [32287]
                                )
                              ]
                              spids: [32287]
                            )
                          ]
                          spids: [32275 32277 32291 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: [32480]
                                )
                              ]
                              spids: [32480]
                            )
                            (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: [32363 32470 32517 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: [32535 32545]
                                              )
                                            )
                                          }
                                        )
                                      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: [32556]
                                        )
                                      ]
                                      spids: [32556]
                                    )
                                    (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: [32599]
                                                )
                                              ]
                                              spids: [32599]
                                            )
                                          ]
                                          spids: [32591 32596 32603 16777215]
                                        )
                                      ]
                                      spids: [32584 32588 32606]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [16777215 32549]
                                )
                              ]
                              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: [32626]
                                    )
                                  ]
                                  spids: [32626]
                                )
                              ]
                              spids: [32612 32630]
                            )
                          ]
                          spids: [32521 32523 32633 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: [32658]
                                )
                              ]
                              spids: [32658]
                            )
                          ]
                          spids: [32641 32648 32662 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.) ($ VSub_Name '$objext')}]
                          action: [(C {(func_append)} {(objs)} {(DQ (' ') ($ VSub_Name '$arg'))})]
                          spids: [32666 32669 32686 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: [32716]
                                        )
                                      ]
                                      spids: [32716]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:non_pic_object)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [32719]
                                        )
                                      ]
                                      spids: [32719]
                                    )
                                    (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 32783]
                                        )
                                      ]
                                      spids: [16777215 32795]
                                    )
                                    (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: [32817]
                                        )
                                      ]
                                      spids: [32817]
                                    )
                                    (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: [32841]
                                                )
                                              ]
                                              spids: [32841]
                                            )
                                            (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: [32901]
                                                                )
                                                              ]
                                                              spids: [32901]
                                                            )
                                                            (ControlFlow
                                                              token: <ControlFlow_Continue continue>
                                                            )
                                                          ]
                                                          spids: [16777215 32888]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:prev)
                                                              op: Equal
                                                              rhs: {(dlprefiles)}
                                                              spids: [32914]
                                                            )
                                                          ]
                                                          spids: [32914]
                                                        )
                                                      ]
                                                      spids: [32907 32918]
                                                    )
                                                  ]
                                                  spids: [16777215 32860]
                                                )
                                              ]
                                              spids: [16777215 32921]
                                            )
                                            (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: [32959]
                                                        )
                                                      ]
                                                      spids: [32959]
                                                    )
                                                  ]
                                                  spids: [16777215 32942]
                                                )
                                              ]
                                              spids: [16777215 32962]
                                            )
                                            (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: [32980]
                                                )
                                              ]
                                              spids: [32980]
                                            )
                                          ]
                                          spids: [32834]
                                        )
                                      ]
                                    )
                                    (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: [33013]
                                                )
                                              ]
                                              spids: [33013]
                                            )
                                            (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: [33059]
                                                        )
                                                      ]
                                                      spids: [33059]
                                                    )
                                                  ]
                                                  spids: [16777215 33056]
                                                )
                                              ]
                                              spids: [16777215 33063]
                                            )
                                          ]
                                          spids: [16777215 33006]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:non_pic_object)
                                              op: Equal
                                              rhs: {($ VSub_Name '$pic_object')}
                                              spids: [33077]
                                            )
                                          ]
                                          spids: [33077]
                                        )
                                        (C {(func_append)} {(non_pic_objects)} 
                                          {(DQ (' ') ($ VSub_Name '$non_pic_object'))}
                                        )
                                      ]
                                      spids: [33066 33091]
                                    )
                                  ]
                                  spids: [16777215 32713]
                                )
                              ]
                              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: [33127]
                                            )
                                          ]
                                          spids: [33127]
                                        )
                                        (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: [33139]
                                            )
                                          ]
                                          spids: [33139]
                                        )
                                        (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: [33146]
                                            )
                                          ]
                                          spids: [33146]
                                        )
                                        (C {(func_append)} {(libobjs)} 
                                          {(DQ (' ') ($ VSub_Name '$pic_object'))}
                                        )
                                        (C {(func_append)} {(non_pic_objects)} 
                                          {(DQ (' ') ($ VSub_Name '$non_pic_object'))}
                                        )
                                      ]
                                      spids: [16777215 33106]
                                    )
                                  ]
                                  else_action: [
                                    (C {(func_fatal_error)} 
                                      {
                                        (DQ ("'") ($ VSub_Name '$arg') 
                                          ("' is not a valid libtool object")
                                        )
                                      }
                                    )
                                  ]
                                  spids: [33171 33183]
                                )
                              ]
                              spids: [33094 33186]
                            )
                          ]
                          spids: [32690 32692 33189 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: [33193 33196 33226 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: [33277]
                                        )
                                      ]
                                      spids: [33277]
                                    )
                                  ]
                                  spids: [16777215 33260]
                                )
                                (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: [33310]
                                        )
                                      ]
                                      spids: [33310]
                                    )
                                  ]
                                  spids: [33280 33293]
                                )
                              ]
                              else_action: [
                                (C {(func_append)} {(deplibs)} 
                                  {(DQ (' ') ($ VSub_Name '$func_resolve_sysroot_result'))}
                                )
                              ]
                              spids: [33313 33326]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [33230 33232 33332 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: [33359]
                                )
                              ]
                              spids: [33359]
                            )
                          ]
                          spids: [33340 33341 33363 16777215]
                        )
                      ]
                      spids: [30056 30060 33366]
                    )
                    (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 33388]
                        )
                      ]
                      spids: [16777215 33411]
                    )
                  ]
                  spids: [28499 33414]
                )
            )
            (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 33466]
                )
              ]
              spids: [16777215 33497]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:oldlibs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [33501]
                )
              ]
              spids: [33501]
            )
            (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: [33515]
                )
              ]
              spids: [33515]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libobjs_save)
                  op: Equal
                  rhs: {($ VSub_Name '$libobjs')}
                  spids: [33519]
                )
              ]
              spids: [33519]
            )
            (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 33535]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:shlib_search_path)
                      op: Equal
                      rhs: {(EmptyPart)}
                      spids: [33572]
                    )
                  ]
                  spids: [33572]
                )
              ]
              spids: [33569 33575]
            )
            (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: [33623]
                )
              ]
              spids: [33623]
            )
            (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: [33636]
                )
              ]
              spids: [33636]
            )
            (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: [16777215 33665 33675 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: [33683]
                        )
                      ]
                      spids: [33683]
                    )
                  ]
                  spids: [33678 33681 33686 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: [33699]
                        )
                      ]
                      spids: [33699]
                    )
                  ]
                  spids: [33689 33697 33702 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: [33709]
                        )
                      ]
                      spids: [33709]
                    )
                  ]
                  spids: [33705 33707 33712 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:linkmode)
                          op: Equal
                          rhs: {(prog)}
                          spids: [33718]
                        )
                      ]
                      spids: [33718]
                    )
                  ]
                  spids: [33715 33716 33721 16777215]
                )
              ]
              spids: [33656 33660 33727]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:specialdeplibs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [33731]
                )
              ]
              spids: [33731]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:libs) op:Equal rhs:{(EmptyPart)} spids:[33735])]
              spids: [33735]
            )
            (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: [33776 33783 33794 16777215]
                                )
                              ]
                              spids: [33766 33773 33797]
                            )
                          ]
                          spids: [16777215 33763]
                        )
                      ]
                      spids: [16777215 33800]
                    )
                    (C {(func_append)} {(libs)} {(DQ (' ') ($ VSub_Name '$deplib'))})
                  ]
                  spids: [33755 33813]
                )
              spids: [33751 33753]
            )
            (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: [33833]
                        )
                      ]
                      spids: [33833]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:pre_post_deps)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [33858]
                        )
                      ]
                      spids: [33858]
                    )
                    (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: [33893 33900 33911 16777215]
                                        )
                                      ]
                                      spids: [33883 33890 33914]
                                    )
                                    (C {(func_append)} {(pre_post_deps)} 
                                      {(DQ (' ') ($ VSub_Name '$pre_post_dep'))}
                                    )
                                  ]
                                  spids: [33880 33927]
                                )
                              spids: [33874 33878]
                            )
                          ]
                          spids: [16777215 33866]
                        )
                      ]
                      spids: [16777215 33930]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:pre_post_deps)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [33933]
                        )
                      ]
                      spids: [33933]
                    )
                  ]
                  spids: [16777215 33830]
                )
              ]
              spids: [16777215 33936]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:deplibs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [33940]
                )
              ]
              spids: [33940]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:newdependency_libs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [33943]
                )
              ]
              spids: [33943]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:newlib_search_path)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [33946]
                )
              ]
              spids: [33946]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:need_relink) op:Equal rhs:{(no)} spids:[33949])]
              spids: [33949]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:notinst_deplibs)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [33956]
                )
              ]
              spids: [33956]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:notinst_path)
                  op: Equal
                  rhs: {(EmptyPart)}
                  spids: [33962]
                )
              ]
              spids: [33962]
            )
            (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: [33980]
                        )
                      ]
                      spids: [33980]
                    )
                    (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: [34007 34009 34011 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(func_fatal_help)} 
                                      {
                                        (DQ ("libraries can '-dlopen' only libtool libraries: ") 
                                          ($ VSub_Name '$file')
                                        )
                                      }
                                    )
                                  ]
                                  spids: [34014 34015 34026 16777215]
                                )
                              ]
                              spids: [34000 34004 34029]
                            )
                          ]
                          spids: [33997 34032]
                        )
                      spids: [33991 33995]
                    )
                  ]
                  spids: [33976 33977 34035 16777215]
                )
                (case_arm
                  pat_list: [{(prog)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:compile_deplibs)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [34042]
                        )
                      ]
                      spids: [34042]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:finalize_deplibs)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [34045]
                        )
                      ]
                      spids: [34045]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:alldeplibs)
                          op: Equal
                          rhs: {(false)}
                          spids: [34048]
                        )
                      ]
                      spids: [34048]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:newdlfiles)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [34052]
                        )
                      ]
                      spids: [34052]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:newdlprefiles)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [34055]
                        )
                      ]
                      spids: [34055]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:passes)
                          op: Equal
                          rhs: {(DQ ('conv scan dlopen dlpreopen link'))}
                          spids: [34058]
                        )
                      ]
                      spids: [34058]
                    )
                  ]
                  spids: [34038 34039 34064 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: [34070]
                        )
                      ]
                      spids: [34070]
                    )
                  ]
                  spids: [34067 34068 34076 16777215]
                )
              ]
              spids: [33969 33973 34079]
            )
            (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: [34131]
                                )
                              ]
                              spids: [34131]
                            )
                            (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: [34146]
                                        )
                                      ]
                                      spids: [34146]
                                    )
                                  ]
                                  spids: [34143 34154]
                                )
                              spids: [34139 34141]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$tmp_deplibs')}
                                  spids: [34157]
                                )
                              ]
                              spids: [34157]
                            )
                          ]
                          spids: [16777215 34120]
                        )
                      ]
                      spids: [16777215 34161]
                    )
                    (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: [34202]
                                )
                              ]
                              spids: [34202]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [34206]
                                )
                              ]
                              spids: [34206]
                            )
                          ]
                          spids: [16777215 34199]
                        )
                      ]
                      spids: [16777215 34209]
                    )
                    (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: [34238]
                                        )
                                      ]
                                      spids: [34238]
                                    )
                                  ]
                                  spids: [34235 34236 34241 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: [34247]
                                        )
                                      ]
                                      spids: [34247]
                                    )
                                  ]
                                  spids: [34244 34245 34250 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: [34257]
                                        )
                                      ]
                                      spids: [34257]
                                    )
                                    (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: [34278]
                                            )
                                          ]
                                          spids: [34278]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [34253 34254 34286 16777215]
                                )
                              ]
                              spids: [34228 34232 34289]
                            )
                          ]
                          spids: [16777215 34225]
                        )
                      ]
                      spids: [16777215 34292]
                    )
                    (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: [34335]
                                        )
                                      ]
                                      spids: [34335]
                                    )
                                    (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: [34352 34354 34362 16777215]
                                        )
                                      ]
                                      spids: [34345 34349 34365]
                                    )
                                    (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: [34396]
                                                )
                                              ]
                                              spids: [34396]
                                            )
                                            (Case
                                              to_match: {(DQ (' ') ($ VSub_Name '$weak_libs') (' '))}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other '*') 
                                                      (DQ (' ') ($ VSub_Name '$deplib_base') (' ')) (Lit_Other '*')
                                                    }
                                                  ]
                                                  spids: [34411 34418 34420 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (C {(func_append)} {(deplibs)} 
                                                      {(DQ (' ') ($ VSub_Name '$deplib'))}
                                                    )
                                                  ]
                                                  spids: [34423 34424 34435 16777215]
                                                )
                                              ]
                                              spids: [34400 34408 34438]
                                            )
                                          ]
                                          spids: [34386 34441]
                                        )
                                      spids: [34382 34384]
                                    )
                                  ]
                                  spids: [34328 34444]
                                )
                              spids: [34324 34326]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$dlprefiles')}
                                  spids: [34447]
                                )
                              ]
                              spids: [34447]
                            )
                          ]
                          spids: [16777215 34312]
                        )
                      ]
                      spids: [16777215 34451]
                    )
                    (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: [34474]
                                )
                              ]
                              spids: [34474]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [34478]
                                )
                              ]
                              spids: [34478]
                            )
                          ]
                          spids: [16777215 34467]
                        )
                      ]
                      spids: [16777215 34481]
                    )
                    (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: [34497]
                                )
                              ]
                              spids: [34497]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:found)
                                  op: Equal
                                  rhs: {(false)}
                                  spids: [34500]
                                )
                              ]
                              spids: [34500]
                            )
                            (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: [34566]
                                                )
                                              ]
                                              spids: [34566]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:finalize_deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$deplib') (' ') 
                                                        ($ VSub_Name '$finalize_deplibs')
                                                      )
                                                    }
                                                  spids: [34574]
                                                )
                                              ]
                                              spids: [34574]
                                            )
                                          ]
                                          spids: [16777215 34563]
                                        )
                                      ]
                                      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: [34621 34628 34630 16777215]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other '*')}]
                                                      action: [
                                                        (C {(func_append)} 
                                                          {(new_inherited_linker_flags)} {(DQ (' ') ($ VSub_Name '$deplib'))}
                                                        )
                                                      ]
                                                      spids: [34633 34635 34646 16777215]
                                                    )
                                                  ]
                                                  spids: [34611 34618 34649]
                                                )
                                              ]
                                              spids: [16777215 34608]
                                            )
                                          ]
                                          spids: [16777215 34652]
                                        )
                                      ]
                                      spids: [34582 34655]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [34511 34543 34661 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 34696]
                                        )
                                      ]
                                      spids: [16777215 34709]
                                    )
                                    (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: [34726]
                                        )
                                      ]
                                      spids: [34726]
                                    )
                                    (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: [34746]
                                                )
                                              ]
                                              spids: [34746]
                                            )
                                          ]
                                          spids: [16777215 34743]
                                        )
                                      ]
                                      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: [34763]
                                            )
                                          ]
                                          spids: [34763]
                                        )
                                      ]
                                      spids: [34760 34775]
                                    )
                                    (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: [34812]
                                                        )
                                                      ]
                                                      spids: [34812]
                                                    )
                                                    (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: [34849]
                                                                        )
                                                                      ]
                                                                      spids: [34849]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 34846]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:found)
                                                                      op: Equal
                                                                      rhs: {(false)}
                                                                      spids: [34856]
                                                                    )
                                                                  ]
                                                                  spids: [34856]
                                                                )
                                                              ]
                                                              spids: [34853 34860]
                                                            )
                                                            (ControlFlow
                                                              token: <ControlFlow_Break break>
                                                              arg_word: {(2)}
                                                            )
                                                          ]
                                                          spids: [16777215 34830]
                                                        )
                                                      ]
                                                      spids: [16777215 34868]
                                                    )
                                                  ]
                                                  spids: [34805 34871]
                                                )
                                              spids: [34795 34803]
                                            )
                                          ]
                                          spids: [34787 34874]
                                        )
                                      spids: [34783 34785]
                                    )
                                    (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: [34948]
                                                                        )
                                                                      ]
                                                                      spids: [34948]
                                                                    )
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: old_library
                                                                            )
                                                                          op: Equal
                                                                          rhs: {(EmptyPart)}
                                                                          spids: [34951]
                                                                        )
                                                                      ]
                                                                      spids: [34951]
                                                                    )
                                                                    (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: [34975]
                                                                                )
                                                                              ]
                                                                              spids: [34975]
                                                                            )
                                                                          ]
                                                                          spids: [34972 34979]
                                                                        )
                                                                      spids: [34966 34970]
                                                                    )
                                                                    (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: [35005]
                                                                                )
                                                                              ]
                                                                              spids: [35005]
                                                                            )
                                                                            (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: [35023]
                                                                                )
                                                                              ]
                                                                              spids: [35023]
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: lib
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      ($ VSub_Name 
'$ladir'
                                                                                      ) (/) ($ VSub_Name '$old_library')
                                                                                    }
                                                                                  spids: [35027]
                                                                                )
                                                                              ]
                                                                              spids: [35027]
                                                                            )
                                                                            (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: [
35053
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [35053]
                                                                                    )
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
finalize_deplibs
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: 
                                                                                            {
                                                                                              (DQ 
                                                                                                ($ 
VSub_Name '$deplib'
                                                                                                ) (' ') ($ VSub_Name '$finalize_deplibs')
                                                                                              )
                                                                                            }
                                                                                          spids: [
35061
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [35061]
                                                                                    )
                                                                                  ]
                                                                                  spids: [
16777215
35050
                                                                                  ]
                                                                                )
                                                                              ]
                                                                              else_action: [
                                                                                (Assignment
                                                                                  keyword: 
Assign_None
                                                                                  pairs: [
                                                                                    (assign_pair
                                                                                      lhs: 
                                                                                        (LhsName
                                                                                          name: 
deplibs
                                                                                        )
                                                                                      op: Equal
                                                                                      rhs: 
                                                                                        {
                                                                                          (DQ 
                                                                                            ($ 
VSub_Name '$deplib'
                                                                                            ) (' ') ($ VSub_Name '$deplibs')
                                                                                          )
                                                                                        }
                                                                                      spids: [35072]
                                                                                    )
                                                                                  ]
                                                                                  spids: [35072]
                                                                                )
                                                                                (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: [
35092
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [35092]
                                                                                    )
                                                                                  ]
                                                                                )
                                                                              ]
                                                                              spids: [35069 35100]
                                                                            )
                                                                            (ControlFlow
                                                                              token: 
                                                                                <
ControlFlow_Continue continue
                                                                                >
                                                                            )
                                                                          ]
                                                                          spids: [16777215 34999]
                                                                        )
                                                                      ]
                                                                      spids: [16777215 35106]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 34945]
                                                                )
                                                              ]
                                                              spids: [16777215 35109]
                                                            )
                                                          ]
                                                          spids: [34926 34933 35112 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          spids: [35115 35116 35118 16777215]
                                                        )
                                                      ]
                                                      spids: [34913 34923 35121]
                                                    )
                                                  ]
                                                  spids: [16777215 34910]
                                                )
                                              ]
                                              spids: [16777215 35124]
                                            )
                                          ]
                                          spids: [16777215 34882]
                                        )
                                      ]
                                      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: [35154]
                                                    )
                                                  ]
                                                  spids: [35154]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:finalize_deplibs)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name '$deplib') (' ') 
                                                            ($ VSub_Name '$finalize_deplibs')
                                                          )
                                                        }
                                                      spids: [35162]
                                                    )
                                                  ]
                                                  spids: [35162]
                                                )
                                              ]
                                              spids: [16777215 35151]
                                            )
                                          ]
                                          else_action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$deplib') (' ') 
                                                        ($ VSub_Name '$deplibs')
                                                      )
                                                    }
                                                  spids: [35173]
                                                )
                                              ]
                                              spids: [35173]
                                            )
                                            (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: [35193]
                                                    )
                                                  ]
                                                  spids: [35193]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [35170 35201]
                                        )
                                        (ControlFlow
                                          token: <ControlFlow_Continue continue>
                                        )
                                      ]
                                      spids: [35127 35207]
                                    )
                                  ]
                                  spids: [34664 34666 35210 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: [35241]
                                                )
                                              ]
                                              spids: [35241]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:finalize_deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$deplib') (' ') 
                                                        ($ VSub_Name '$finalize_deplibs')
                                                      )
                                                    }
                                                  spids: [35249]
                                                )
                                              ]
                                              spids: [35249]
                                            )
                                          ]
                                          spids: [16777215 35238]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:deplibs)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$deplib') (' ') 
                                                    ($ VSub_Name '$deplibs')
                                                  )
                                                }
                                              spids: [35260]
                                            )
                                          ]
                                          spids: [35260]
                                        )
                                        (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: [35294 35301 35303 16777215]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other '*')}]
                                                      action: [
                                                        (C {(func_append)} 
                                                          {(new_inherited_linker_flags)} {(DQ (' ') ($ VSub_Name '$deplib'))}
                                                        )
                                                      ]
                                                      spids: [35306 35308 35319 16777215]
                                                    )
                                                  ]
                                                  spids: [35284 35291 35322]
                                                )
                                              ]
                                              spids: [16777215 35281]
                                            )
                                          ]
                                          spids: [16777215 35325]
                                        )
                                      ]
                                      spids: [35257 35328]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [35216 35218 35334 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: [35353]
                                                )
                                              ]
                                              spids: [35353]
                                            )
                                            (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: [35376]
                                                )
                                              ]
                                              spids: [35376]
                                            )
                                            (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: [35349 35350 35415 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: [35438]
                                                        )
                                                      ]
                                                      spids: [35438]
                                                    )
                                                    (ControlFlow
                                                      token: <ControlFlow_Continue continue>
                                                    )
                                                  ]
                                                  spids: [16777215 35435]
                                                )
                                              ]
                                              spids: [16777215 35449]
                                            )
                                            (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: [35468]
                                                        )
                                                      ]
                                                      spids: [35468]
                                                    )
                                                  ]
                                                  spids: [16777215 35465]
                                                )
                                              ]
                                              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: [35479]
                                                    )
                                                  ]
                                                  spids: [35479]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:finalize_deplibs)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name '$deplib') (' ') 
                                                            ($ VSub_Name '$finalize_deplibs')
                                                          )
                                                        }
                                                      spids: [35487]
                                                    )
                                                  ]
                                                  spids: [35487]
                                                )
                                              ]
                                              spids: [35476 35495]
                                            )
                                            (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: [35418 35419 35529 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_warning)} 
                                              {(DQ ("'-L' is ignored for archives/objects"))}
                                            )
                                          ]
                                          spids: [35532 35533 35543 16777215]
                                        )
                                      ]
                                      spids: [35342 35346 35546]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [35337 35339 35555 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: [35603]
                                                )
                                              ]
                                              spids: [35603]
                                            )
                                            (Case
                                              to_match: {(DQ ($ VSub_Name '$xrpath') (' '))}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other '*') 
                                                      (DQ (' ') ($ VSub_Name '$dir') (' ')) (Lit_Other '*')
                                                    }
                                                  ]
                                                  spids: [35621 35628 35630 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (C {(func_append)} {(xrpath)} 
                                                      {(DQ (' ') ($ VSub_Name '$dir'))}
                                                    )
                                                  ]
                                                  spids: [35633 35634 35645 16777215]
                                                )
                                              ]
                                              spids: [35611 35618 35648]
                                            )
                                          ]
                                          spids: [16777215 35579]
                                        )
                                      ]
                                      spids: [16777215 35651]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:deplibs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$deplib') (' ') 
                                                ($ VSub_Name '$deplibs')
                                              )
                                            }
                                          spids: [35654]
                                        )
                                      ]
                                      spids: [35654]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [35561 35563 35665 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: [35680]
                                        )
                                      ]
                                      spids: [35680]
                                    )
                                  ]
                                  spids: [35668 35670 35684 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: [35709]
                                                )
                                              ]
                                              spids: [35709]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [16777215 35706]
                                        )
                                      ]
                                      spids: [16777215 35720]
                                    )
                                    (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: [35753 35760 35762 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: [35769]
                                                        )
                                                      ]
                                                      spids: [35769]
                                                    )
                                                    (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: [35796 35813]
                                                                      )
                                                                    }
                                                                  spids: [35795]
                                                                )
                                                              ]
                                                              spids: [35795]
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (Pipeline
                                                                          children: [
                                                                            (SimpleCommand
                                                                              words: [
                                                                                {(eval)}
                                                                                {
                                                                                  (DQ 
                                                                                    (EscapedLiteralPart
                                                                                      token: 
                                                                                        <
Lit_EscapedChar '\\$'
                                                                                        >
                                                                                    ) ('ECHO ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$deplib') 
                                                                                    (EscapedLiteralPart
                                                                                      token: 
                                                                                        <
Lit_EscapedChar '\\"'
                                                                                        >
                                                                                    )
                                                                                  )
                                                                                }
                                                                              ]
                                                                              redirects: [
                                                                                (Redir
                                                                                  op_id: Redir_Great
                                                                                  fd: 2
                                                                                  arg_word: 
                                                                                    {(/dev/null)}
                                                                                  spids: [35828]
                                                                                )
                                                                              ]
                                                                            )
                                                                            (C {($ VSub_Name '$SED')} 
                                                                              {(10q)}
                                                                            )
                                                                            (SimpleCommand
                                                                              words: [
                                                                                {
                                                                                  ($ VSub_Name 
'$EGREP'
                                                                                  )
                                                                                }
                                                                                {
                                                                                  (DQ 
                                                                                    ($ VSub_Name 
'$match_pattern_regex'
                                                                                    )
                                                                                  )
                                                                                }
                                                                              ]
                                                                              redirects: [
                                                                                (Redir
                                                                                  op_id: Redir_Great
                                                                                  fd: 16777215
                                                                                  arg_word: 
                                                                                    {(/dev/null)}
                                                                                  spids: [35847]
                                                                                )
                                                                              ]
                                                                            )
                                                                          ]
                                                                          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: [35855]
                                                                        )
                                                                      ]
                                                                      spids: [35855]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 35852]
                                                                )
                                                              ]
                                                              spids: [16777215 35859]
                                                            )
                                                          ]
                                                          spids: [35780 35782 35862 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: [35869]
                                                                )
                                                              ]
                                                              spids: [35869]
                                                            )
                                                          ]
                                                          spids: [35865 35866 35873 16777215]
                                                        )
                                                      ]
                                                      spids: [35773 35777 35876]
                                                    )
                                                    (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: [35908]
                                                                )
                                                              ]
                                                              spids: [35908]
                                                            )
                                                          ]
                                                          spids: [16777215 35884]
                                                        )
                                                      ]
                                                      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: [35916 35968]
                                                    )
                                                  ]
                                                  spids: [35765 35766 35971 16777215]
                                                )
                                              ]
                                              spids: [35742 35750 35974]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [35730 35731 35980 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: [36004]
                                                        )
                                                      ]
                                                      spids: [36004]
                                                    )
                                                  ]
                                                  spids: [16777215 36001]
                                                )
                                              ]
                                              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: [36015]
                                                    )
                                                  ]
                                                  spids: [36015]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:finalize_deplibs)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name '$deplib') (' ') 
                                                            ($ VSub_Name '$finalize_deplibs')
                                                          )
                                                        }
                                                      spids: [36023]
                                                    )
                                                  ]
                                                  spids: [36023]
                                                )
                                              ]
                                              spids: [36012 36031]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [35983 35984 36037 16777215]
                                        )
                                      ]
                                      spids: [35723 35727 36040]
                                    )
                                  ]
                                  spids: [35687 35690 36046 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: [36079]
                                                )
                                              ]
                                              spids: [36079]
                                            )
                                          ]
                                          spids: [16777215 36076]
                                        )
                                        (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: [36162]
                                                        )
                                                      ]
                                                      spids: [36162]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:finalize_deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$deplib') (' ') 
                                                                ($ VSub_Name '$finalize_deplibs')
                                                              )
                                                            }
                                                          spids: [36170]
                                                        )
                                                      ]
                                                      spids: [36170]
                                                    )
                                                  ]
                                                  spids: [16777215 36141]
                                                )
                                              ]
                                              else_action: [
                                                (C {(func_append)} {(newdlfiles)} 
                                                  {(DQ (' ') ($ VSub_Name '$deplib'))}
                                                )
                                              ]
                                              spids: [36178 36191]
                                            )
                                          ]
                                          spids: [36087 36100]
                                        )
                                      ]
                                      spids: [16777215 36194]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [36052 36060 36200 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: [36209]
                                        )
                                      ]
                                      spids: [36209]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [36203 36206 36216 16777215]
                                )
                              ]
                              spids: [34504 34508 36219]
                            )
                            (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: [36292]
                                )
                              ]
                              spids: [36292]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dlname)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [36297]
                                )
                              ]
                              spids: [36297]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dlopen)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [36300]
                                )
                              ]
                              spids: [36300]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dlpreopen)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [36303]
                                )
                              ]
                              spids: [36303]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libdir)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [36306]
                                )
                              ]
                              spids: [36306]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:library_names)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [36309]
                                )
                              ]
                              spids: [36309]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:old_library)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [36312]
                                )
                              ]
                              spids: [36312]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:inherited_linker_flags)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [36315]
                                )
                              ]
                              spids: [36315]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:installed)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [36326]
                                )
                              ]
                              spids: [36326]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:shouldnotlink)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [36330]
                                )
                              ]
                              spids: [36330]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:avoidtemprpath)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [36334]
                                )
                              ]
                              spids: [36334]
                            )
                            (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: [36370 36384]
                                              )
                                            }
                                          spids: [36369]
                                        )
                                      ]
                                      spids: [36369]
                                    )
                                    (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: [36410 36417 36419 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (C {(func_append)} {(new_inherited_linker_flags)} 
                                                      {
                                                        (DQ (' ') 
                                                          ($ VSub_Name '$tmp_inherited_linker_flag')
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [36422 36423 36433 16777215]
                                                )
                                              ]
                                              spids: [36399 36407 36436]
                                            )
                                          ]
                                          spids: [36396 36439]
                                        )
                                      spids: [36392 36394]
                                    )
                                  ]
                                  spids: [16777215 36366]
                                )
                              ]
                              spids: [16777215 36442]
                            )
                            (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: [36446 36461]
                                      )
                                    }
                                  spids: [36445]
                                )
                              ]
                              spids: [36445]
                            )
                            (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: [36500]
                                            )
                                          ]
                                        )
                                      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 36530]
                                )
                              ]
                              spids: [16777215 36573]
                            )
                            (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: [36597]
                                        )
                                      ]
                                      spids: [36597]
                                    )
                                    (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 36630]
                                                )
                                              ]
                                              spids: [16777215 36642]
                                            )
                                            (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: [36677]
                                                )
                                              ]
                                              spids: [36677]
                                            )
                                            (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: [36692]
                                                        )
                                                      ]
                                                      spids: [36692]
                                                    )
                                                    (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: [36718 36725 36736 16777215]
                                                                )
                                                              ]
                                                              spids: [36708 36715 36739]
                                                            )
                                                          ]
                                                          spids: [16777215 36705]
                                                        )
                                                      ]
                                                      spids: [16777215 36742]
                                                    )
                                                    (C {(func_append)} {(tmp_libs)} 
                                                      {(DQ (' ') ($ VSub_Name '$deplib'))}
                                                    )
                                                  ]
                                                  spids: [36689 36755]
                                                )
                                              spids: [36685 36687]
                                            )
                                          ]
                                          spids: [16777215 36616]
                                        )
                                        (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: [36758 36785]
                                        )
                                      ]
                                      spids: [16777215 36797]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [16777215 36590]
                                )
                              ]
                              spids: [16777215 36803]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:linklib)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [36815]
                                )
                              ]
                              spids: [36815]
                            )
                            (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: [36831]
                                            )
                                          ]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:linklib)
                                          op: Equal
                                          rhs: {($ VSub_Name '$old_library')}
                                          spids: [36867]
                                        )
                                      ]
                                      spids: [36867]
                                    )
                                  ]
                                  spids: [16777215 36864]
                                )
                              ]
                              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: [36888]
                                            )
                                          ]
                                          spids: [36888]
                                        )
                                      ]
                                      spids: [36885 36892]
                                    )
                                  spids: [36879 36883]
                                )
                              ]
                              spids: [36871 36895]
                            )
                            (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 36909]
                                )
                              ]
                              spids: [16777215 36921]
                            )
                            (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 37004]
                                        )
                                      ]
                                      else_action: [
                                        (C {(func_append)} {(newdlfiles)} 
                                          {(DQ (' ') ($ VSub_Name '$lib'))}
                                        )
                                      ]
                                      spids: [37035 37048]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [16777215 36942]
                                )
                              ]
                              spids: [16777215 37054]
                            )
                            (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: [37091]
                                        )
                                      ]
                                      spids: [37091]
                                    )
                                  ]
                                  spids: [37072 37089 37094 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: [37102 37112]
                                              )
                                            }
                                          spids: [37101]
                                        )
                                      ]
                                      spids: [37101]
                                    )
                                    (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: [37145]
                                                )
                                              ]
                                              spids: [37145]
                                            )
                                          ]
                                          spids: [16777215 37126]
                                        )
                                      ]
                                      spids: [16777215 37149]
                                    )
                                  ]
                                  spids: [37097 37098 37152 16777215]
                                )
                              ]
                              spids: [37065 37069 37155]
                            )
                            (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: [37165]
                                )
                              ]
                              spids: [37165]
                            )
                            (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: [37230]
                                                )
                                              ]
                                              spids: [37230]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:absdir)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$abs_ladir')}
                                                  spids: [37234]
                                                )
                                              ]
                                              spids: [37234]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:libdir)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$abs_ladir')}
                                                  spids: [37238]
                                                )
                                              ]
                                              spids: [37238]
                                            )
                                          ]
                                          spids: [16777215 37218]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:dir)
                                              op: Equal
                                              rhs: 
                                                {($ VSub_Name '$lt_sysroot') ($ VSub_Name '$libdir')}
                                              spids: [37245]
                                            )
                                          ]
                                          spids: [37245]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:absdir)
                                              op: Equal
                                              rhs: 
                                                {($ VSub_Name '$lt_sysroot') ($ VSub_Name '$libdir')}
                                              spids: [37250]
                                            )
                                          ]
                                          spids: [37250]
                                        )
                                      ]
                                      spids: [37242 37255]
                                    )
                                    (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: [37270]
                                            )
                                          ]
                                          spids: [37270]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16777215 37187]
                                )
                              ]
                              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: [37309]
                                            )
                                          ]
                                          spids: [37309]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:absdir)
                                              op: Equal
                                              rhs: {($ VSub_Name '$abs_ladir')}
                                              spids: [37313]
                                            )
                                          ]
                                          spids: [37313]
                                        )
                                        (C {(func_append)} {(notinst_path)} 
                                          {(DQ (' ') ($ VSub_Name '$abs_ladir'))}
                                        )
                                      ]
                                      spids: [16777215 37306]
                                    )
                                  ]
                                  else_action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dir)
                                          op: Equal
                                          rhs: {($ VSub_Name '$ladir') (/) ($ VSub_Name '$objdir')}
                                          spids: [37334]
                                        )
                                      ]
                                      spids: [37334]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:absdir)
                                          op: Equal
                                          rhs: 
                                            {($ VSub_Name '$abs_ladir') (/) ($ VSub_Name '$objdir')}
                                          spids: [37340]
                                        )
                                      ]
                                      spids: [37340]
                                    )
                                    (C {(func_append)} {(notinst_path)} 
                                      {(DQ (' ') ($ VSub_Name '$abs_ladir'))}
                                    )
                                  ]
                                  spids: [37331 37360]
                                )
                              ]
                              spids: [37274 37363]
                            )
                            (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: [37384]
                                )
                              ]
                              spids: [37384]
                            )
                            (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 37432]
                                        )
                                      ]
                                      spids: [16777215 37444]
                                    )
                                    (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 37520]
                                                )
                                              ]
                                              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: [37557 37604]
                                            )
                                          ]
                                          spids: [37458 37474 37607 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 37634]
                                                )
                                                (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: [37685 37696]
                                                )
                                              ]
                                              else_action: [
                                                (C {(func_append)} {(newdlprefiles)} 
                                                  {
                                                    (DQ (' ') ($ VSub_Name '$dir') (/) 
                                                      ($ VSub_Name '$linklib')
                                                    )
                                                  }
                                                )
                                              ]
                                              spids: [37711 37726]
                                            )
                                          ]
                                          spids: [37610 37612 37729 16777215]
                                        )
                                      ]
                                      spids: [37447 37451 37732]
                                    )
                                  ]
                                  spids: [16777215 37406]
                                )
                              ]
                              spids: [16777215 37735]
                            )
                            (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: [37776]
                                                )
                                              ]
                                              spids: [37776]
                                            )
                                          ]
                                          spids: [16777215 37773]
                                        )
                                        (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: [37806]
                                                )
                                              ]
                                              spids: [37806]
                                            )
                                            (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: [37816]
                                                )
                                              ]
                                              spids: [37816]
                                            )
                                          ]
                                          spids: [37786 37803]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:deplibs)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$lib') (' ') 
                                                    ($ VSub_Name '$deplibs')
                                                  )
                                                }
                                              spids: [37829]
                                            )
                                          ]
                                          spids: [37829]
                                        )
                                      ]
                                      spids: [37826 37840]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [16777215 37753]
                                )
                              ]
                              spids: [16777215 37846]
                            )
                            (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: [37890]
                                        )
                                      ]
                                      spids: [37890]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:linkalldeplibs)
                                          op: Equal
                                          rhs: {(false)}
                                          spids: [37899]
                                        )
                                      ]
                                      spids: [37899]
                                    )
                                    (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: [37943]
                                                )
                                              ]
                                              spids: [37943]
                                            )
                                          ]
                                          spids: [16777215 37940]
                                        )
                                      ]
                                      spids: [16777215 37947]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_libs)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [37951]
                                        )
                                      ]
                                      spids: [37951]
                                    )
                                    (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: [37973 37975 38008 16777215]
                                                )
                                              ]
                                              spids: [37966 37970 38011]
                                            )
                                            (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: [38026]
                                                        )
                                                      ]
                                                      spids: [38026]
                                                    )
                                                  ]
                                                  spids: [16777215 38023]
                                                )
                                              ]
                                              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: [38045]
                                                    )
                                                  ]
                                                  spids: [38045]
                                                )
                                              ]
                                              spids: [38034 38053]
                                            )
                                            (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: [38074 38081 38092 16777215]
                                                        )
                                                      ]
                                                      spids: [38064 38071 38095]
                                                    )
                                                  ]
                                                  spids: [16777215 38061]
                                                )
                                              ]
                                              spids: [16777215 38098]
                                            )
                                            (C {(func_append)} {(tmp_libs)} 
                                              {(DQ (' ') ($ VSub_Name '$deplib'))}
                                            )
                                          ]
                                          spids: [37963 38111]
                                        )
                                      spids: [37959 37961]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [16777215 37877]
                                )
                              ]
                              spids: [16777215 38120]
                            )
                            (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: [38162]
                                                                )
                                                                (C {(test)} {(-z)} 
                                                                  {(DQ ($ VSub_Name '$old_library'))}
                                                                )
                                                              ]
                                                            )
                                                          terminator: <Op_Semi ';'>
                                                        )
                                                      ]
                                                      spids: [38160]
                                                    )
                                                  ]
                                                )
                                              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: [38252 38258 38260 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (C {(func_append)} {(temp_rpath)} 
                                                              {(DQ ($ VSub_Name '$absdir') (':'))}
                                                            )
                                                          ]
                                                          spids: [38263 38264 38275 16777215]
                                                        )
                                                      ]
                                                      spids: [38244 38249 38278]
                                                    )
                                                  ]
                                                  spids: [16777215 38237]
                                                )
                                              ]
                                              spids: [16777215 38281]
                                            )
                                            (Case
                                              to_match: 
                                                {
                                                  (DQ (' ') ($ VSub_Name '$sys_lib_dlsearch_path') 
                                                    (' ')
                                                  )
                                                }
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other '*') 
                                                      (DQ (' ') ($ VSub_Name '$absdir') (' ')) (Lit_Other '*')
                                                    }
                                                  ]
                                                  spids: [38308 38315 38317 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: [38334 38341 38343 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (C {(func_append)} {(compile_rpath)} 
                                                              {(DQ (' ') ($ VSub_Name '$absdir'))}
                                                            )
                                                          ]
                                                          spids: [38346 38347 38358 16777215]
                                                        )
                                                      ]
                                                      spids: [38324 38331 38361]
                                                    )
                                                  ]
                                                  spids: [38320 38321 38364 16777215]
                                                )
                                              ]
                                              spids: [38297 38305 38367]
                                            )
                                            (Case
                                              to_match: 
                                                {
                                                  (DQ (' ') ($ VSub_Name '$sys_lib_dlsearch_path') 
                                                    (' ')
                                                  )
                                                }
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other '*') 
                                                      (DQ (' ') ($ VSub_Name '$libdir') (' ')) (Lit_Other '*')
                                                    }
                                                  ]
                                                  spids: [38381 38388 38390 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: [38407 38414 38416 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (C {(func_append)} {(finalize_rpath)} 
                                                              {(DQ (' ') ($ VSub_Name '$libdir'))}
                                                            )
                                                          ]
                                                          spids: [38419 38420 38431 16777215]
                                                        )
                                                      ]
                                                      spids: [38397 38404 38434]
                                                    )
                                                  ]
                                                  spids: [38393 38394 38437 16777215]
                                                )
                                              ]
                                              spids: [38370 38378 38440]
                                            )
                                          ]
                                          spids: [16777215 38209]
                                        )
                                      ]
                                      spids: [16777215 38443]
                                    )
                                    (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: [38472]
                                                                )
                                                              ]
                                                            )
                                                          terminator: <Op_Semi ';'>
                                                        )
                                                      ]
                                                      spids: [38457]
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                                          spids: [16777215 38502]
                                        )
                                      ]
                                      spids: [16777215 38512]
                                    )
                                  ]
                                  spids: [16777215 38144]
                                )
                              ]
                              spids: [16777215 38515]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:link_static)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [38519]
                                )
                              ]
                              spids: [38519]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:use_static_libs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$prefer_static_libs')}
                                  spids: [38526]
                                )
                              ]
                              spids: [38526]
                            )
                            (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: [38558]
                                        )
                                      ]
                                      spids: [38558]
                                    )
                                  ]
                                  spids: [16777215 38555]
                                )
                              ]
                              spids: [16777215 38562]
                            )
                            (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: [38578]
                                            )
                                          ]
                                        )
                                      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: [38652]
                                                )
                                              ]
                                              spids: [38652]
                                            )
                                          ]
                                          spids: [38614 38635 38656 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: [38689]
                                                        )
                                                      ]
                                                      spids: [38689]
                                                    )
                                                  ]
                                                  spids: [16777215 38676]
                                                )
                                              ]
                                              spids: [16777215 38693]
                                            )
                                          ]
                                          spids: [38659 38660 38696 16777215]
                                        )
                                      ]
                                      spids: [38607 38611 38699]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dlopenmodule)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [38715]
                                        )
                                      ]
                                      spids: [38715]
                                    )
                                    (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: [38750]
                                                        )
                                                      ]
                                                      spids: [38750]
                                                    )
                                                    (ControlFlow
                                                      token: <ControlFlow_Break break>
                                                    )
                                                  ]
                                                  spids: [16777215 38747]
                                                )
                                              ]
                                              spids: [16777215 38757]
                                            )
                                          ]
                                          spids: [38727 38760]
                                        )
                                      spids: [38723 38725]
                                    )
                                    (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 38817]
                                                )
                                              ]
                                              else_action: [
                                                (C {($ VSub_Name '$ECHO')} 
                                                  {
                                                    (DQ ('*** Warning: Linking the shared library ') 
                                                      ($ VSub_Name '$output') (' against the loadable module')
                                                    )
                                                  }
                                                )
                                              ]
                                              spids: [38829 38841]
                                            )
                                            (C {($ VSub_Name '$ECHO')} 
                                              {
                                                (DQ ('*** ') ($ VSub_Name '$linklib') 
                                                  (' is not portable!')
                                                )
                                              }
                                            )
                                          ]
                                          spids: [16777215 38798]
                                        )
                                      ]
                                      spids: [16777215 38853]
                                    )
                                    (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: [38908 38915 38917 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: [38934 38941 38943 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (C {(func_append)} {(compile_rpath)} 
                                                              {(DQ (' ') ($ VSub_Name '$absdir'))}
                                                            )
                                                          ]
                                                          spids: [38946 38947 38958 16777215]
                                                        )
                                                      ]
                                                      spids: [38924 38931 38961]
                                                    )
                                                  ]
                                                  spids: [38920 38921 38964 16777215]
                                                )
                                              ]
                                              spids: [38897 38905 38967]
                                            )
                                            (Case
                                              to_match: 
                                                {
                                                  (DQ (' ') ($ VSub_Name '$sys_lib_dlsearch_path') 
                                                    (' ')
                                                  )
                                                }
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other '*') 
                                                      (DQ (' ') ($ VSub_Name '$libdir') (' ')) (Lit_Other '*')
                                                    }
                                                  ]
                                                  spids: [38981 38988 38990 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: [39007 39014 39016 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (C {(func_append)} {(finalize_rpath)} 
                                                              {(DQ (' ') ($ VSub_Name '$libdir'))}
                                                            )
                                                          ]
                                                          spids: [39019 39020 39031 16777215]
                                                        )
                                                      ]
                                                      spids: [38997 39004 39034]
                                                    )
                                                  ]
                                                  spids: [38993 38994 39037 16777215]
                                                )
                                              ]
                                              spids: [38970 38978 39040]
                                            )
                                          ]
                                          spids: [16777215 38882]
                                        )
                                      ]
                                      spids: [16777215 39043]
                                    )
                                    (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: [39075]
                                                )
                                              ]
                                              spids: [39075]
                                            )
                                            (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: [39083 39094]
                                                      )
                                                    }
                                                  spids: [39082]
                                                )
                                              ]
                                              spids: [39082]
                                            )
                                            (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: [39115]
                                                        )
                                                      ]
                                                      spids: [39115]
                                                    )
                                                  ]
                                                  spids: [16777215 39112]
                                                )
                                                (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: [39176]
                                                                )
                                                              ]
                                                              spids: [39176]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:versuffix)
                                                                  op: Equal
                                                                  rhs: {(-) ($ VSub_Name '$major')}
                                                                  spids: [39180]
                                                                )
                                                              ]
                                                              spids: [39180]
                                                            )
                                                          ]
                                                          spids: [39144 39164 39185 16777215]
                                                        )
                                                      ]
                                                      spids: [39137 39141 39188]
                                                    )
                                                    (C {(eval)} 
                                                      {(Lit_VarLike 'soname=') 
                                                        (EscapedLiteralPart
                                                          token: <Lit_EscapedChar '\\"'>
                                                        ) ($ VSub_Name '$soname_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                      }
                                                    )
                                                  ]
                                                  spids: [39119 39130]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:soname)
                                                      op: Equal
                                                      rhs: {($ VSub_Name '$realname')}
                                                      spids: [39202]
                                                    )
                                                  ]
                                                  spids: [39202]
                                                )
                                              ]
                                              spids: [39199 39206]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:soroot)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$soname')}
                                                  spids: [39214]
                                                )
                                              ]
                                              spids: [39214]
                                            )
                                            (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: [39225]
                                                )
                                              ]
                                              spids: [39225]
                                            )
                                            (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: [39244]
                                                )
                                              ]
                                              spids: [39244]
                                            )
                                            (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 39269]
                                                )
                                              ]
                                              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: [39274 39297]
                                            )
                                            (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 39318]
                                                )
                                              ]
                                              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: [39323 39346]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dir)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$output_objdir')}
                                                  spids: [39353]
                                                )
                                              ]
                                              spids: [39353]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:linklib)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$newlib')}
                                                  spids: [39357]
                                                )
                                              ]
                                              spids: [39357]
                                            )
                                          ]
                                          spids: [16777215 39058]
                                        )
                                      ]
                                      spids: [16777215 39361]
                                    )
                                    (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: [39397]
                                                )
                                              ]
                                              spids: [39397]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add_dir)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [39400]
                                                )
                                              ]
                                              spids: [39400]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [39403]
                                                )
                                              ]
                                              spids: [39403]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:lib_linked)
                                                  op: Equal
                                                  rhs: {(yes)}
                                                  spids: [39406]
                                                )
                                              ]
                                              spids: [39406]
                                            )
                                            (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: [39441]
                                                                )
                                                              ]
                                                              spids: [39441]
                                                            )
                                                            (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: [39464]
                                                                        )
                                                                      ]
                                                                      spids: [39464]
                                                                    )
                                                                  ]
                                                                  spids: [39454 39462 39468 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: [39480]
                                                                        )
                                                                      ]
                                                                      spids: [39480]
                                                                    )
                                                                  ]
                                                                  spids: [39471 39478 39484 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: [39519]
                                                                        )
                                                                      ]
                                                                      spids: [39519]
                                                                    )
                                                                  ]
                                                                  spids: [39487 39517 39523 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_id: 
Redir_Great
                                                                                          fd: 2
                                                                                          arg_word: 
                                                                                            {
                                                                                              (
/dev/null
                                                                                              )
                                                                                            }
                                                                                          spids: [
39551
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                    )
                                                                                    (SimpleCommand
                                                                                      words: [
                                                                                        {
                                                                                          ($ 
VSub_Name '$GREP'
                                                                                          )
                                                                                        }
                                                                                        {
                                                                                          (DQ 
                                                                                            (
': [^:]* bundle'
                                                                                            )
                                                                                          )
                                                                                        }
                                                                                      ]
                                                                                      redirects: [
                                                                                        (Redir
                                                                                          op_id: 
Redir_Great
                                                                                          fd: 
16777215
                                                                                          arg_word: 
                                                                                            {
                                                                                              (
/dev/null
                                                                                              )
                                                                                            }
                                                                                          spids: [
39564
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  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
39612
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      else_action: [
                                                                                        (Assignment
                                                                                          keyword: 
Assign_None
                                                                                          pairs: [
                                                                                            (assign_pair
                                                                                              lhs: 
                                                                                                (LhsName
                                                                                                  name: 
add
                                                                                                )
                                                                                              op: 
                                                                                                Equal
                                                                                              rhs: 
                                                                                                {
                                                                                                  ($ 
VSub_Name '$dir'
                                                                                                  ) (/) ($ VSub_Name '$old_library')
                                                                                                }
                                                                                              spids: [
39635
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
39635
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
39632
39641
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  spids: [
16777215
39589
                                                                                  ]
                                                                                )
                                                                                (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: [
39658
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [39658]
                                                                                    )
                                                                                  ]
                                                                                  spids: [39644 39655]
                                                                                )
                                                                              ]
                                                                              spids: [16777215 39664]
                                                                            )
                                                                          ]
                                                                          spids: [16777215 39568]
                                                                        )
                                                                      ]
                                                                      spids: [16777215 39667]
                                                                    )
                                                                  ]
                                                                  spids: [39526 39532 16777215 39670]
                                                                )
                                                              ]
                                                              spids: [39447 39451 39670]
                                                            )
                                                          ]
                                                          spids: [16777215 39438]
                                                        )
                                                        (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: [39703]
                                                                        )
                                                                      ]
                                                                      spids: [39703]
                                                                    )
                                                                  ]
                                                                  spids: [39696 39701 39706 16777215]
                                                                )
                                                              ]
                                                              spids: [39689 39693 39709]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add_dir)
                                                                  op: Equal
                                                                  rhs: {(-L) ($ VSub_Name '$dir')}
                                                                  spids: [39712]
                                                                )
                                                              ]
                                                              spids: [39712]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: {(-l) ($ VSub_Name '$name')}
                                                                  spids: [39717]
                                                                )
                                                              ]
                                                              spids: [39717]
                                                            )
                                                          ]
                                                          spids: [39673 39686]
                                                        )
                                                        (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: [39738]
                                                                )
                                                              ]
                                                              spids: [39738]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: {(-l) ($ VSub_Name '$name')}
                                                                  spids: [39742]
                                                                )
                                                              ]
                                                              spids: [39742]
                                                            )
                                                          ]
                                                          spids: [39722 39735]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:lib_linked)
                                                              op: Equal
                                                              rhs: {(no)}
                                                              spids: [39750]
                                                            )
                                                          ]
                                                          spids: [39750]
                                                        )
                                                      ]
                                                      spids: [39747 39754]
                                                    )
                                                  ]
                                                  spids: [39417 39422 39757 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: [39793]
                                                                )
                                                              ]
                                                              spids: [39793]
                                                            )
                                                          ]
                                                          spids: [16777215 39790]
                                                        )
                                                        (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: [39815]
                                                                )
                                                              ]
                                                              spids: [39815]
                                                            )
                                                            (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: [
39845
39850
39864
16777215
                                                                          ]
                                                                        )
                                                                      ]
                                                                      spids: [39838 39842 39867]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 39835]
                                                                )
                                                              ]
                                                              spids: [16777215 39870]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: {(-l) ($ VSub_Name '$name')}
                                                                  spids: [39873]
                                                                )
                                                              ]
                                                              spids: [39873]
                                                            )
                                                          ]
                                                          spids: [39799 39812]
                                                        )
                                                        (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: [39894]
                                                                )
                                                              ]
                                                              spids: [39894]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: {(-l) ($ VSub_Name '$name')}
                                                                  spids: [39898]
                                                                )
                                                              ]
                                                              spids: [39898]
                                                            )
                                                          ]
                                                          spids: [39878 39891]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:lib_linked)
                                                              op: Equal
                                                              rhs: {(no)}
                                                              spids: [39906]
                                                            )
                                                          ]
                                                          spids: [39906]
                                                        )
                                                      ]
                                                      spids: [39903 39910]
                                                    )
                                                  ]
                                                  spids: [39760 39761 39913 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: [39919]
                                                        )
                                                      ]
                                                      spids: [39919]
                                                    )
                                                  ]
                                                  spids: [39916 39917 39922 16777215]
                                                )
                                              ]
                                              spids: [39410 39414 39925]
                                            )
                                            (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 39943]
                                                )
                                              ]
                                              spids: [16777215 39953]
                                            )
                                            (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: [39980 39987 39989 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (C {(func_append)} {(compile_shlibpath)} 
                                                              {
                                                                (DQ ($ VSub_Name '$add_shlibpath') 
                                                                  (':')
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [39992 39993 40004 16777215]
                                                        )
                                                      ]
                                                      spids: [39971 39977 40007]
                                                    )
                                                  ]
                                                  spids: [16777215 39968]
                                                )
                                              ]
                                              spids: [16777215 40010]
                                            )
                                            (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: [40039]
                                                            )
                                                          ]
                                                          spids: [40039]
                                                        )
                                                      ]
                                                    )
                                                    (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: [40057]
                                                            )
                                                          ]
                                                          spids: [40057]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  spids: [16777215 40026]
                                                )
                                              ]
                                              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: [40078]
                                                        )
                                                      ]
                                                      spids: [40078]
                                                    )
                                                  ]
                                                )
                                                (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: [40096]
                                                        )
                                                      ]
                                                      spids: [40096]
                                                    )
                                                  ]
                                                )
                                                (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: [40157 40164 40166 16777215]
                                                            )
                                                            (case_arm
                                                              pat_list: [{(Lit_Other '*')}]
                                                              action: [
                                                                (C {(func_append)} 
                                                                  {(finalize_shlibpath)} {(DQ ($ VSub_Name '$libdir') (':'))}
                                                                )
                                                              ]
                                                              spids: [40169 40170 40181 16777215]
                                                            )
                                                          ]
                                                          spids: [40148 40154 40184]
                                                        )
                                                      ]
                                                      spids: [16777215 40145]
                                                    )
                                                  ]
                                                  spids: [16777215 40187]
                                                )
                                              ]
                                              spids: [40065 40190]
                                            )
                                          ]
                                          spids: [16777215 39394]
                                        )
                                      ]
                                      spids: [16777215 40193]
                                    )
                                    (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: [40225]
                                                )
                                              ]
                                              spids: [40225]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add_dir)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [40228]
                                                )
                                              ]
                                              spids: [40228]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [40231]
                                                )
                                              ]
                                              spids: [40231]
                                            )
                                            (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: [40267]
                                                        )
                                                      ]
                                                      spids: [40267]
                                                    )
                                                  ]
                                                  spids: [16777215 40264]
                                                )
                                                (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: [40289]
                                                        )
                                                      ]
                                                      spids: [40289]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:add)
                                                          op: Equal
                                                          rhs: {(-l) ($ VSub_Name '$name')}
                                                          spids: [40294]
                                                        )
                                                      ]
                                                      spids: [40294]
                                                    )
                                                  ]
                                                  spids: [40273 40286]
                                                )
                                                (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: [40324 40331 40333 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (C {(func_append)} {(finalize_shlibpath)} 
                                                              {(DQ ($ VSub_Name '$libdir') (':'))}
                                                            )
                                                          ]
                                                          spids: [40336 40337 40348 16777215]
                                                        )
                                                      ]
                                                      spids: [40315 40321 40351]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:add)
                                                          op: Equal
                                                          rhs: {(-l) ($ VSub_Name '$name')}
                                                          spids: [40354]
                                                        )
                                                      ]
                                                      spids: [40354]
                                                    )
                                                  ]
                                                  spids: [40299 40312]
                                                )
                                                (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: [40403]
                                                                )
                                                              ]
                                                              spids: [40403]
                                                            )
                                                          ]
                                                          spids: [16777215 40400]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:add)
                                                              op: Equal
                                                              rhs: 
                                                                {($ VSub_Name '$libdir') (/) 
                                                                  ($ VSub_Name '$linklib')
                                                                }
                                                              spids: [40413]
                                                            )
                                                          ]
                                                          spids: [40413]
                                                        )
                                                      ]
                                                      spids: [40410 40419]
                                                    )
                                                  ]
                                                  spids: [40359 40372]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:add_dir)
                                                      op: Equal
                                                      rhs: {(-L) ($ VSub_Name '$libdir')}
                                                      spids: [40429]
                                                    )
                                                  ]
                                                  spids: [40429]
                                                )
                                                (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: [40459 40464 40478 16777215]
                                                            )
                                                          ]
                                                          spids: [40452 40456 40481]
                                                        )
                                                      ]
                                                      spids: [16777215 40449]
                                                    )
                                                  ]
                                                  spids: [16777215 40484]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:add)
                                                      op: Equal
                                                      rhs: {(-l) ($ VSub_Name '$name')}
                                                      spids: [40487]
                                                    )
                                                  ]
                                                  spids: [40487]
                                                )
                                              ]
                                              spids: [40422 40492]
                                            )
                                            (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: [40522]
                                                            )
                                                          ]
                                                          spids: [40522]
                                                        )
                                                      ]
                                                    )
                                                    (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: [40540]
                                                            )
                                                          ]
                                                          spids: [40540]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  spids: [16777215 40509]
                                                )
                                              ]
                                              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: [40561]
                                                        )
                                                      ]
                                                      spids: [40561]
                                                    )
                                                  ]
                                                )
                                                (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: [40579]
                                                        )
                                                      ]
                                                      spids: [40579]
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [40548 40587]
                                            )
                                          ]
                                          spids: [16777215 40222]
                                        )
                                      ]
                                      spids: [16777215 40590]
                                    )
                                  ]
                                  spids: [16777215 38604]
                                )
                                (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: [40648]
                                                    )
                                                  ]
                                                  spids: [40648]
                                                )
                                              ]
                                            )
                                            (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: [40652]
                                                )
                                              ]
                                              spids: [40652]
                                            )
                                            (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: [40662]
                                                )
                                              ]
                                              spids: [40662]
                                            )
                                          ]
                                          spids: [16777215 40635]
                                        )
                                      ]
                                      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: [40675]
                                            )
                                          ]
                                          spids: [40675]
                                        )
                                        (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: [40686]
                                            )
                                          ]
                                          spids: [40686]
                                        )
                                      ]
                                      spids: [40672 40697]
                                    )
                                  ]
                                  spids: [40593 40606]
                                )
                                (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 40835]
                                                        )
                                                      ]
                                                      spids: [16777215 40869]
                                                    )
                                                    (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: [40888]
                                                                )
                                                              ]
                                                              spids: [40888]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:build_old_libs)
                                                                  op: Equal
                                                                  rhs: {(yes)}
                                                                  spids: [40892]
                                                                )
                                                              ]
                                                              spids: [40892]
                                                            )
                                                          ]
                                                          spids: [16777215 40885]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:build_libtool_libs)
                                                              op: Equal
                                                              rhs: {(no)}
                                                              spids: [40899]
                                                            )
                                                          ]
                                                          spids: [40899]
                                                        )
                                                      ]
                                                      spids: [40896 40903]
                                                    )
                                                  ]
                                                  spids: [16777215 40800]
                                                )
                                              ]
                                              spids: [16777215 40906]
                                            )
                                          ]
                                          spids: [16777215 40734]
                                        )
                                      ]
                                      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: [40912]
                                            )
                                          ]
                                          spids: [40912]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:link_static)
                                              op: Equal
                                              rhs: {(yes)}
                                              spids: [40922]
                                            )
                                          ]
                                          spids: [40922]
                                        )
                                      ]
                                      spids: [40909 40926]
                                    )
                                  ]
                                  spids: [40700 40713]
                                )
                              ]
                              spids: [16777215 40929]
                            )
                            (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: [40965]
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:temp_deplibs)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [41015]
                                                )
                                              ]
                                              spids: [41015]
                                            )
                                            (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: [41055]
                                                                )
                                                              ]
                                                              spids: [41055]
                                                            )
                                                            (Case
                                                              to_match: 
                                                                {
                                                                  (DQ (' ') ($ VSub_Name '$xrpath') 
                                                                    (' ')
                                                                  )
                                                                }
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other '*') 
                                                                      (DQ (' ') 
                                                                        ($ VSub_Name '$temp_xrpath') (' ')
                                                                      ) (Lit_Other '*')
                                                                    }
                                                                  ]
                                                                  spids: [41070 41077 41079 16777215]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(Lit_Other '*')}]
                                                                  action: [
                                                                    (C {(func_append)} {(xrpath)} 
                                                                      {
                                                                        (DQ (' ') 
                                                                          ($ VSub_Name '$temp_xrpath')
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [41082 41083 41093 16777215]
                                                                )
                                                              ]
                                                              spids: [41059 41067 41096]
                                                            )
                                                          ]
                                                          spids: [41037 41039 41097 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (C {(func_append)} {(temp_deplibs)} 
                                                              {(DQ (' ') ($ VSub_Name '$libdir'))}
                                                            )
                                                          ]
                                                          spids: [41100 41101 41111 16777215]
                                                        )
                                                      ]
                                                      spids: [41030 41034 41114]
                                                    )
                                                  ]
                                                  spids: [41027 41117]
                                                )
                                              spids: [41023 41025]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dependency_libs)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$temp_deplibs')}
                                                  spids: [41120]
                                                )
                                              ]
                                              spids: [41120]
                                            )
                                          ]
                                          spids: [16777215 41008]
                                        )
                                      ]
                                      spids: [16777215 41124]
                                    )
                                    (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: [41154]
                                            )
                                          ]
                                          spids: [41154]
                                        )
                                      ]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_libs)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [41168]
                                        )
                                      ]
                                      spids: [41168]
                                    )
                                    (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: [41183]
                                                )
                                              ]
                                              spids: [41183]
                                            )
                                            (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: [41198 41200 41221 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (C {(func_resolve_sysroot)} 
                                                      {(DQ ($ VSub_Name '$deplib'))}
                                                    )
                                                  ]
                                                  spids: [41224 41225 41233 16777215]
                                                )
                                              ]
                                              spids: [41191 41195 41236]
                                            )
                                            (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: [41257 41264 41276 16777215]
                                                        )
                                                      ]
                                                      spids: [41247 41254 41279]
                                                    )
                                                  ]
                                                  spids: [16777215 41244]
                                                )
                                              ]
                                              spids: [16777215 41282]
                                            )
                                            (C {(func_append)} {(tmp_libs)} 
                                              {
                                                (DQ (' ') ($ VSub_Name '$func_resolve_sysroot_result'))
                                              }
                                            )
                                          ]
                                          spids: [41180 41295]
                                        )
                                      spids: [41176 41178]
                                    )
                                    (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: [41332]
                                                        )
                                                      ]
                                                      spids: [41332]
                                                    )
                                                    (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: [41346]
                                                                )
                                                              ]
                                                              spids: [41346]
                                                            )
                                                          ]
                                                          spids: [41342 41344 41349 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: [41364]
                                                                )
                                                              ]
                                                              spids: [41364]
                                                            )
                                                            (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: [41382]
                                                                )
                                                              ]
                                                              spids: [41382]
                                                            )
                                                            (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: [41416]
                                                                        )
                                                                      ]
                                                                      spids: [41416]
                                                                    )
                                                                  ]
                                                                  spids: [41397 41414 41419 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: [41427 41437]
                                                                              )
                                                                            }
                                                                          spids: [41426]
                                                                        )
                                                                      ]
                                                                      spids: [41426]
                                                                    )
                                                                    (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: [41463]
                                                                                )
                                                                              ]
                                                                              spids: [41463]
                                                                            )
                                                                          ]
                                                                          spids: [16777215 41451]
                                                                        )
                                                                      ]
                                                                      spids: [16777215 41467]
                                                                    )
                                                                  ]
                                                                  spids: [41422 41423 41470 16777215]
                                                                )
                                                              ]
                                                              spids: [41390 41394 41473]
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (SimpleCommand
                                                                          words: [
                                                                            {($ VSub_Name '$GREP')}
                                                                            {(DQ ('^installed=no'))}
                                                                            {
                                                                              ($ VSub_Name '$deplib')
                                                                            }
                                                                          ]
                                                                          redirects: [
                                                                            (Redir
                                                                              op_id: Redir_Great
                                                                              fd: 16777215
                                                                              arg_word: {(/dev/null)}
                                                                              spids: [41486]
                                                                            )
                                                                          ]
                                                                        )
                                                                      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: [41509]
                                                                                )
                                                                              ]
                                                                              spids: [41509]
                                                                            )
                                                                            (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: [41515 41527]
                                                                                )
                                                                              }
                                                                            )
                                                                            (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: [
41556
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
41556
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
41553
41560
                                                                                          ]
                                                                                        )
                                                                                      spids: [
41549
41551
                                                                                      ]
                                                                                    )
                                                                                    (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: [
41581
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
41581
                                                                                              ]
                                                                                            )
                                                                                            (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: [
41590
41604
                                                                                                        ]
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
41589
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
41589
                                                                                              ]
                                                                                            )
                                                                                            (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: [
41622
41636
                                                                                                                ]
                                                                                                              )
                                                                                                            }
                                                                                                          spids: [
41621
                                                                                                          ]
                                                                                                        )
                                                                                                      ]
                                                                                                      spids: [
41621
                                                                                                      ]
                                                                                                    )
                                                                                                  ]
                                                                                                  spids: [
16777215
41618
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
16777215
41639
                                                                                              ]
                                                                                            )
                                                                                            (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: [
41669
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
41669
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
16777215
41578
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
16777215
41672
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  spids: [
16777215
41541
                                                                                  ]
                                                                                )
                                                                              ]
                                                                              spids: [16777215 41675]
                                                                            )
                                                                          ]
                                                                          spids: [
41501
41506
41678
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: [41685]
                                                                                )
                                                                              ]
                                                                              spids: [41685]
                                                                            )
                                                                          ]
                                                                          spids: [
41681
41682
41692
16777215
                                                                          ]
                                                                        )
                                                                      ]
                                                                      spids: [41494 41498 41695]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 41491]
                                                                )
                                                              ]
                                                              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: [41704 41716]
                                                                    )
                                                                  }
                                                                )
                                                                (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: [41767]
                                                                    )
                                                                  ]
                                                                  spids: [41767]
                                                                )
                                                              ]
                                                              spids: [41698 41772]
                                                            )
                                                          ]
                                                          spids: [41352 41354 41775 16777215]
                                                        )
                                                      ]
                                                      spids: [41335 41339 41778]
                                                    )
                                                    (Case
                                                      to_match: 
                                                        {(DQ (' ') ($ VSub_Name '$deplibs') (' '))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other '*') 
                                                              (DQ (' ') ($ VSub_Name '$path') (' ')) (Lit_Other '*')
                                                            }
                                                          ]
                                                          spids: [41792 41799 41801 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: [41807]
                                                                )
                                                              ]
                                                              spids: [41807]
                                                            )
                                                          ]
                                                          spids: [41804 41805 41814 16777215]
                                                        )
                                                      ]
                                                      spids: [41781 41789 41817]
                                                    )
                                                  ]
                                                  spids: [41329 41820]
                                                )
                                              spids: [41325 41327]
                                            )
                                          ]
                                          spids: [16777215 41313]
                                        )
                                      ]
                                      spids: [16777215 41823]
                                    )
                                  ]
                                  spids: [16777215 40949]
                                )
                              ]
                              spids: [16777215 41829]
                            )
                          ]
                          spids: [34494 41835]
                        )
                      spids: [34490 34492]
                    )
                    (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: [41873]
                                        )
                                      ]
                                      spids: [41873]
                                    )
                                    (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: [41881]
                                        )
                                      ]
                                      spids: [41881]
                                    )
                                  ]
                                  spids: [16777215 41870]
                                )
                              ]
                              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: [41897 41912]
                                          )
                                        }
                                      spids: [41892]
                                    )
                                  ]
                                  spids: [41892]
                                )
                              ]
                              spids: [41889 41915]
                            )
                          ]
                          spids: [16777215 41854]
                        )
                      ]
                      spids: [16777215 41918]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dependency_libs)
                          op: Equal
                          rhs: {($ VSub_Name '$newdependency_libs')}
                          spids: [41921]
                        )
                      ]
                      spids: [41921]
                    )
                    (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: [41957]
                                        )
                                      ]
                                      spids: [41957]
                                    )
                                  ]
                                  spids: [41954 41965]
                                )
                              spids: [41950 41952]
                            )
                          ]
                          spids: [16777215 41938]
                        )
                      ]
                      spids: [16777215 41968]
                    )
                    (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: [42007]
                                        )
                                      ]
                                      spids: [42007]
                                    )
                                    (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: [42032 42039 42041 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (C {(func_append)} {(lib_search_path)} 
                                                      {(DQ (' ') ($ VSub_Name '$dir'))}
                                                    )
                                                  ]
                                                  spids: [42044 42045 42056 16777215]
                                                )
                                              ]
                                              spids: [42022 42029 42059]
                                            )
                                          ]
                                          spids: [42019 42062]
                                        )
                                      spids: [42015 42017]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:newlib_search_path)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [42065]
                                        )
                                      ]
                                      spids: [42065]
                                    )
                                  ]
                                  spids: [42000]
                                )
                              ]
                            )
                            (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: [42092]
                                        )
                                      ]
                                      spids: [42092]
                                    )
                                  ]
                                  spids: [16777215 42089]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:vars)
                                      op: Equal
                                      rhs: {(deplibs)}
                                      spids: [42101]
                                    )
                                  ]
                                  spids: [42101]
                                )
                              ]
                              spids: [42098 42105]
                            )
                            (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: [42135]
                                        )
                                      ]
                                      spids: [42135]
                                    )
                                    (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: [42185]
                                                        )
                                                      ]
                                                      spids: [42185]
                                                    )
                                                  ]
                                                  spids: [42181 42183 42192 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(-R) (Lit_Other '*')}]
                                                  spids: [42195 42197 42199 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: [42282]
                                                                )
                                                              ]
                                                              spids: [42282]
                                                            )
                                                          ]
                                                          spids: [42273 42280 42289 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: [42307 42314 42316 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: [42322]
                                                                        )
                                                                      ]
                                                                      spids: [42322]
                                                                    )
                                                                  ]
                                                                  spids: [42319 42320 42329 16777215]
                                                                )
                                                              ]
                                                              spids: [42296 42304 42332]
                                                            )
                                                          ]
                                                          spids: [42292 42293 42335 16777215]
                                                        )
                                                      ]
                                                      spids: [42262 42270 42338]
                                                    )
                                                  ]
                                                  spids: [42202 42203 42341 16777215]
                                                )
                                              ]
                                              spids: [42174 42178 42344]
                                            )
                                          ]
                                          spids: [42147 42347]
                                        )
                                      spids: [42143 42145]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_libs)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [42350]
                                        )
                                      ]
                                      spids: [42350]
                                    )
                                    (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: [42388 42395 42397 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (C {(func_append)} {(tmp_libs)} 
                                                              {(DQ (' ') ($ VSub_Name '$deplib'))}
                                                            )
                                                          ]
                                                          spids: [42400 42401 42412 16777215]
                                                        )
                                                      ]
                                                      spids: [42377 42385 42415]
                                                    )
                                                  ]
                                                  spids: [42372 42374 42418 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (C {(func_append)} {(tmp_libs)} 
                                                      {(DQ (' ') ($ VSub_Name '$deplib'))}
                                                    )
                                                  ]
                                                  spids: [42421 42422 42433 16777215]
                                                )
                                              ]
                                              spids: [42365 42369 42436]
                                            )
                                          ]
                                          spids: [42362 42439]
                                        )
                                      spids: [42358 42360]
                                    )
                                    (C {(eval)} 
                                      {($ VSub_Name '$var') (Lit_Other '=') 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\"'>
                                        ) ($ VSub_Name '$tmp_libs') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                      }
                                    )
                                  ]
                                  spids: [42119 42451]
                                )
                              spids: [42113 42117]
                            )
                          ]
                          spids: [16777215 41985]
                        )
                      ]
                      spids: [16777215 42457]
                    )
                    (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_id: Redir_GreatAnd
                                                            fd: 2
                                                            arg_word: {(1)}
                                                            spids: [42499]
                                                          )
                                                        ]
                                                      )
                                                      (C {(sed)} {(5q)})
                                                    ]
                                                    negated: F
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [42494 42507]
                                          )
                                        }
                                      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 42541]
                                                )
                                              ]
                                              spids: [16777215 42553]
                                            )
                                          ]
                                          spids: [42512 42517 42556 16777215]
                                        )
                                      ]
                                      spids: [42492 42509 42559]
                                    )
                                  ]
                                  spids: [42487 42489 42562 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 42613]
                                                )
                                              ]
                                              spids: [16777215 42625]
                                            )
                                          ]
                                          spids: [42585 42592 42628 16777215]
                                        )
                                      ]
                                      spids: [42578 42582 42631]
                                    )
                                  ]
                                  spids: [42566 42568 42634 16777215]
                                )
                              ]
                              spids: [42480 42484 42637]
                            )
                          ]
                          spids: [42477]
                        )
                      ]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:tmp_libs)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [42652]
                        )
                      ]
                      spids: [42652]
                    )
                    (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: [42692]
                                        )
                                      ]
                                      spids: [42692]
                                    )
                                  ]
                                  spids: [42682 42689 42695 16777215]
                                )
                              ]
                              spids: [42667 42679 42698]
                            )
                            (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 42712]
                                )
                              ]
                              spids: [16777215 42725]
                            )
                          ]
                          spids: [42664 42728]
                        )
                      spids: [42660 42662]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dependency_libs)
                          op: Equal
                          rhs: {($ VSub_Name '$tmp_libs')}
                          spids: [42731]
                        )
                      ]
                      spids: [42731]
                    )
                  ]
                  spids: [34092 42735]
                )
              spids: [34088 34090]
            )
            (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: [42757]
                        )
                      ]
                      spids: [42757]
                    )
                  ]
                  spids: [16777215 42754]
                )
              ]
              spids: [16777215 42761]
            )
            (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: [42792]
                        )
                      ]
                      spids: [42792]
                    )
                  ]
                  spids: [16777215 42789]
                )
              ]
              spids: [16777215 42796]
            )
            (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 42836]
                        )
                      ]
                      spids: [16777215 42846]
                    )
                    (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: [42860 42871 42880 16777215]
                        )
                      ]
                      spids: [42850 42857 42883]
                    )
                    (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: [42992]
                        )
                      ]
                      spids: [42992]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:oldlibs)
                          op: Equal
                          rhs: {($ VSub_Name '$output')}
                          spids: [42996]
                        )
                      ]
                      spids: [42996]
                    )
                    (C {(func_append)} {(objs)} {(DQ ($ VSub_Name '$old_deplibs'))})
                  ]
                  spids: [42807 42808 43009 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: [43048]
                                )
                              ]
                              spids: [43048]
                            )
                            (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: [43028 43030 43068 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: [43134]
                                        )
                                      ]
                                      spids: [43134]
                                    )
                                    (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 43113]
                                )
                              ]
                              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: [43171]
                                    )
                                  ]
                                  spids: [43171]
                                )
                              ]
                              spids: [43154 43175]
                            )
                          ]
                          spids: [43071 43072 43178 16777215]
                        )
                      ]
                      spids: [43021 43025 43181]
                    )
                    (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 43213]
                                )
                              ]
                              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: [43226 43260]
                            )
                          ]
                          spids: [16777215 43196]
                        )
                      ]
                      spids: [16777215 43263]
                    )
                    (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: [43321]
                        )
                      ]
                      spids: [43321]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:oldlibs)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [43326]
                        )
                      ]
                      spids: [43326]
                    )
                    (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: [43375]
                                        )
                                      ]
                                      spids: [43375]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:build_libtool_libs)
                                          op: Equal
                                          rhs: {(convenience)}
                                          spids: [43387]
                                        )
                                      ]
                                      spids: [43387]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:build_old_libs)
                                          op: Equal
                                          rhs: {(yes)}
                                          spids: [43391]
                                        )
                                      ]
                                      spids: [43391]
                                    )
                                  ]
                                  spids: [16777215 43356]
                                )
                              ]
                              spids: [16777215 43395]
                            )
                            (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 43340]
                        )
                      ]
                      else_action: [
                        (Sentence
                          child: 
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:save_ifs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$IFS')}
                                  spids: [43446]
                                )
                              ]
                              spids: [43446]
                            )
                          terminator: <Op_Semi ';'>
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:IFS)
                              op: Equal
                              rhs: {(Lit_Other ':')}
                              spids: [43450]
                            )
                          ]
                          spids: [43450]
                        )
                        (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: [43470]
                            )
                          ]
                          spids: [43470]
                        )
                        (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: [43519]
                                    )
                                  ]
                                  spids: [43519]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:number_minor)
                                      op: Equal
                                      rhs: {($ VSub_Number '$2')}
                                      spids: [43523]
                                    )
                                  ]
                                  spids: [43523]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:number_revision)
                                      op: Equal
                                      rhs: {($ VSub_Number '$3')}
                                      spids: [43527]
                                    )
                                  ]
                                  spids: [43527]
                                )
                                (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: [43593]
                                            )
                                          ]
                                          spids: [43593]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:age)
                                              op: Equal
                                              rhs: {($ VSub_Name '$number_minor')}
                                              spids: [43597]
                                            )
                                          ]
                                          spids: [43597]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:revision)
                                              op: Equal
                                              rhs: {($ VSub_Name '$number_revision')}
                                              spids: [43601]
                                            )
                                          ]
                                          spids: [43601]
                                        )
                                      ]
                                      spids: [43570 43581 43605 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: [43616]
                                            )
                                          ]
                                          spids: [43616]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:revision)
                                              op: Equal
                                              rhs: {($ VSub_Name '$number_minor')}
                                              spids: [43620]
                                            )
                                          ]
                                          spids: [43620]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:age)
                                              op: Equal
                                              rhs: {(0)}
                                              spids: [43624]
                                            )
                                          ]
                                          spids: [43624]
                                        )
                                      ]
                                      spids: [43608 43613 43628 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: [43646]
                                            )
                                          ]
                                          spids: [43646]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:age)
                                              op: Equal
                                              rhs: {($ VSub_Name '$number_minor')}
                                              spids: [43650]
                                            )
                                          ]
                                          spids: [43650]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:revision)
                                              op: Equal
                                              rhs: {($ VSub_Name '$number_minor')}
                                              spids: [43654]
                                            )
                                          ]
                                          spids: [43654]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:lt_irix_increment)
                                              op: Equal
                                              rhs: {(no)}
                                              spids: [43658]
                                            )
                                          ]
                                          spids: [43658]
                                        )
                                      ]
                                      spids: [43631 43634 43662 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: [43665 43666 43679 16777215]
                                    )
                                  ]
                                  spids: [43559 43563 43682]
                                )
                              ]
                              spids: [43515 43516 43685 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: [43692]
                                    )
                                  ]
                                  spids: [43692]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:revision)
                                      op: Equal
                                      rhs: {($ VSub_Number '$2')}
                                      spids: [43696]
                                    )
                                  ]
                                  spids: [43696]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:age)
                                      op: Equal
                                      rhs: {($ VSub_Number '$3')}
                                      spids: [43700]
                                    )
                                  ]
                                  spids: [43700]
                                )
                              ]
                              spids: [43688 43689 43704 16777215]
                            )
                          ]
                          spids: [43508 43512 43707]
                        )
                        (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: [43722 43773 43775 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: [43778 43779 43800 16777215]
                            )
                          ]
                          spids: [43715 43719 43803]
                        )
                        (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: [43814 43865 43867 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: [43870 43871 43892 16777215]
                            )
                          ]
                          spids: [43807 43811 43895]
                        )
                        (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: [43906 43957 43959 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: [43962 43963 43984 16777215]
                            )
                          ]
                          spids: [43899 43903 43987]
                        )
                        (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 44006]
                            )
                          ]
                          spids: [16777215 44029]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:major)
                              op: Equal
                              rhs: {(EmptyPart)}
                              spids: [44037]
                            )
                          ]
                          spids: [44037]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:versuffix)
                              op: Equal
                              rhs: {(EmptyPart)}
                              spids: [44040]
                            )
                          ]
                          spids: [44040]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:verstring)
                              op: Equal
                              rhs: {(EmptyPart)}
                              spids: [44043]
                            )
                          ]
                          spids: [44043]
                        )
                        (Case
                          to_match: {($ VSub_Name '$version_type')}
                          arms: [
                            (case_arm
                              pat_list: [{(none)}]
                              spids: [44053 44054 44056 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: [44081]
                                    )
                                  ]
                                  spids: [44081]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: 
                                        {($ VSub_Name '$major') (.) ($ VSub_Name '$age') (.) 
                                          ($ VSub_Name '$revision')
                                        }
                                      spids: [44086]
                                    )
                                  ]
                                  spids: [44086]
                                )
                                (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: [44107]
                                    )
                                  ]
                                  spids: [44107]
                                )
                                (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: [44111]
                                    )
                                  ]
                                  spids: [44111]
                                )
                                (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: [44127]
                                    )
                                  ]
                                  spids: [44127]
                                )
                                (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: [44154]
                                            )
                                          ]
                                          spids: [44154]
                                        )
                                      ]
                                      spids: [44149 44151 44170 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: [44177]
                                            )
                                          ]
                                          spids: [44177]
                                        )
                                      ]
                                      spids: [44173 44174 44188 16777215]
                                    )
                                  ]
                                  spids: [44142 44146 44191]
                                )
                              ]
                              spids: [44060 44061 44194 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: [44202]
                                    )
                                  ]
                                  spids: [44202]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: 
                                        {(.) ($ VSub_Name '$current') (.) ($ VSub_Name '$revision')}
                                      spids: [44207]
                                    )
                                  ]
                                  spids: [44207]
                                )
                              ]
                              spids: [44198 44199 44214 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: [44231]
                                    )
                                  ]
                                  spids: [44231]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: 
                                        {($ VSub_Name '$major') (.) ($ VSub_Name '$age') (.) 
                                          ($ VSub_Name '$revision')
                                        }
                                      spids: [44236]
                                    )
                                  ]
                                  spids: [44236]
                                )
                              ]
                              spids: [44218 44219 44244 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 44269]
                                    )
                                  ]
                                  else_action: [
                                    (C {(func_arith)} {($ VSub_Name '$current')} {(-)} 
                                      {($ VSub_Name '$age')} {(Lit_Other '+')} {(1)}
                                    )
                                  ]
                                  spids: [44281 44297]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {($ VSub_Name '$func_arith_result')}
                                      spids: [44300]
                                    )
                                  ]
                                  spids: [44300]
                                )
                                (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: [44315]
                                            )
                                          ]
                                          spids: [44315]
                                        )
                                      ]
                                      spids: [44312 44313 44318 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: [44324]
                                            )
                                          ]
                                          spids: [44324]
                                        )
                                      ]
                                      spids: [44321 44322 44327 16777215]
                                    )
                                  ]
                                  spids: [44305 44309 44330]
                                )
                                (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: [44333]
                                    )
                                  ]
                                  spids: [44333]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:loop)
                                      op: Equal
                                      rhs: {($ VSub_Name '$revision')}
                                      spids: [44345]
                                    )
                                  ]
                                  spids: [44345]
                                )
                                (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: [44374]
                                            )
                                          ]
                                          spids: [44374]
                                        )
                                        (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: [44387]
                                            )
                                          ]
                                          spids: [44387]
                                        )
                                        (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: [44391]
                                            )
                                          ]
                                          spids: [44391]
                                        )
                                      ]
                                      spids: [44362 44400]
                                    )
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {(.) ($ VSub_Name '$major')}
                                      spids: [44408]
                                    )
                                  ]
                                  spids: [44408]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {($ VSub_Name '$major') (.) ($ VSub_Name '$revision')}
                                      spids: [44413]
                                    )
                                  ]
                                  spids: [44413]
                                )
                              ]
                              spids: [44248 44253 44419 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: [44439]
                                    )
                                  ]
                                  spids: [44439]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: 
                                        {($ VSub_Name '$major') (.) ($ VSub_Name '$age') (.) 
                                          ($ VSub_Name '$revision')
                                        }
                                      spids: [44444]
                                    )
                                  ]
                                  spids: [44444]
                                )
                              ]
                              spids: [44423 44424 44452 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: [44469]
                                    )
                                  ]
                                  spids: [44469]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: 
                                        {(.) ($ VSub_Name '$current') (.) ($ VSub_Name '$age') (.) 
                                          ($ VSub_Name '$revision')
                                        }
                                      spids: [44474]
                                    )
                                  ]
                                  spids: [44474]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:verstring)
                                      op: Equal
                                      rhs: 
                                        {($ VSub_Name '$current') (.) ($ VSub_Name '$age') (.) 
                                          ($ VSub_Name '$revision')
                                        }
                                      spids: [44483]
                                    )
                                  ]
                                  spids: [44483]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:loop)
                                      op: Equal
                                      rhs: {($ VSub_Name '$age')}
                                      spids: [44496]
                                    )
                                  ]
                                  spids: [44496]
                                )
                                (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: [44525]
                                            )
                                          ]
                                          spids: [44525]
                                        )
                                        (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: [44538]
                                            )
                                          ]
                                          spids: [44538]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:verstring)
                                              op: Equal
                                              rhs: 
                                                {($ VSub_Name '$verstring') (Lit_Other ':') 
                                                  ($ VSub_Name '$iface') (.0)
                                                }
                                              spids: [44542]
                                            )
                                          ]
                                          spids: [44542]
                                        )
                                      ]
                                      spids: [44513 44549]
                                    )
                                )
                                (C {(func_append)} {(verstring)} 
                                  {(DQ (':') ($ VSub_Name '$current') (.0))}
                                )
                              ]
                              spids: [44456 44457 44568 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: [44576]
                                    )
                                  ]
                                  spids: [44576]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {(.) ($ VSub_Name '$current')}
                                      spids: [44581]
                                    )
                                  ]
                                  spids: [44581]
                                )
                              ]
                              spids: [44572 44573 44586 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: [44594]
                                    )
                                  ]
                                  spids: [44594]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {(.) ($ VSub_Name '$current')}
                                      spids: [44599]
                                    )
                                  ]
                                  spids: [44599]
                                )
                              ]
                              spids: [44590 44591 44604 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: [44612]
                                    )
                                  ]
                                  spids: [44612]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: 
                                        {(.) ($ VSub_Name '$current') (.) ($ VSub_Name '$revision')}
                                      spids: [44617]
                                    )
                                  ]
                                  spids: [44617]
                                )
                              ]
                              spids: [44608 44609 44624 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: [44649]
                                    )
                                  ]
                                  spids: [44649]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {(-) ($ VSub_Name '$major')}
                                      spids: [44653]
                                    )
                                  ]
                                  spids: [44653]
                                )
                              ]
                              spids: [44628 44629 44658 16777215]
                            )
                            (case_arm
                              pat_list: [{(Lit_Other '*')}]
                              action: [
                                (C {(func_fatal_configuration)} 
                                  {
                                    (DQ ("unknown library version type '") 
                                      ($ VSub_Name '$version_type') ("'")
                                    )
                                  }
                                )
                              ]
                              spids: [44662 44663 44675 16777215]
                            )
                          ]
                          spids: [44046 44050 44678]
                        )
                        (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: [44710]
                                    )
                                  ]
                                  spids: [44710]
                                )
                                (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: [44732]
                                            )
                                          ]
                                          spids: [44732]
                                        )
                                      ]
                                      spids: [44720 44721 44735 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: [44742]
                                            )
                                          ]
                                          spids: [44742]
                                        )
                                      ]
                                      spids: [44738 44739 44746 16777215]
                                    )
                                  ]
                                  spids: [44713 44717 44749]
                                )
                                (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: [44768]
                                            )
                                          ]
                                          spids: [44768]
                                        )
                                      ]
                                      spids: [16777215 44765]
                                    )
                                  ]
                                  else_action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:versuffix)
                                          op: Equal
                                          rhs: {(.0.0)}
                                          spids: [44774]
                                        )
                                      ]
                                      spids: [44774]
                                    )
                                  ]
                                  spids: [44771 44778]
                                )
                              ]
                              spids: [16777215 44707]
                            )
                          ]
                          spids: [16777215 44781]
                        )
                        (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: [44809]
                                    )
                                  ]
                                  spids: [44809]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {(EmptyPart)}
                                      spids: [44812]
                                    )
                                  ]
                                  spids: [44812]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:verstring)
                                      op: Equal
                                      rhs: {(EmptyPart)}
                                      spids: [44815]
                                    )
                                  ]
                                  spids: [44815]
                                )
                              ]
                              spids: [16777215 44806]
                            )
                          ]
                          spids: [16777215 44818]
                        )
                        (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: [44883]
                                                    )
                                                  ]
                                                  spids: [44883]
                                                )
                                              ]
                                              spids: [16777215 44871]
                                            )
                                          ]
                                          else_action: [
                                            (C {(func_fatal_error)} 
                                              {
                                                (DQ ("can't build ") ($ VSub_Name '$host') 
                                                  (
' shared library unless -no-undefined is specified'
                                                  )
                                                )
                                              }
                                            )
                                          ]
                                          spids: [44887 44899]
                                        )
                                      ]
                                      spids: [16777215 44855]
                                    )
                                  ]
                                  spids: [16777215 44902]
                                )
                              ]
                              spids: [16777215 44839]
                            )
                          ]
                          else_action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:allow_undefined_flag)
                                  op: Equal
                                  rhs: {($ VSub_Name '$no_undefined_flag')}
                                  spids: [44912]
                                )
                              ]
                              spids: [44912]
                            )
                          ]
                          spids: [44905 44916]
                        )
                      ]
                      spids: [43438 44920]
                    )
                    (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: [44961]
                            )
                          ]
                          spids: [44961]
                        )
                      ]
                    )
                    (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: [44990]
                                )
                              ]
                              spids: [44990]
                            )
                            (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: [44994 45001]
                                      )
                                    }
                                  spids: [44993]
                                )
                              ]
                              spids: [44993]
                            )
                            (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: [45023 45031 45034 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_id: Redir_Great
                                                                      fd: 16777215
                                                                      arg_word: {(/dev/null)}
                                                                      spids: [45092]
                                                                    )
                                                                    (Redir
                                                                      op_id: Redir_GreatAnd
                                                                      fd: 2
                                                                      arg_word: {(1)}
                                                                      spids: [45095]
                                                                    )
                                                                  ]
                                                                )
                                                              ]
                                                              negated: F
                                                            )
                                                          ]
                                                          action: [
                                                            (ControlFlow
                                                              token: <ControlFlow_Continue continue>
                                                            )
                                                          ]
                                                          spids: [16777215 45099]
                                                        )
                                                      ]
                                                      spids: [16777215 45105]
                                                    )
                                                  ]
                                                  spids: [16777215 45071]
                                                )
                                              ]
                                              spids: [16777215 45108]
                                            )
                                            (C {(func_append)} {(removelist)} 
                                              {(DQ (' ') ($ VSub_Name '$p'))}
                                            )
                                          ]
                                          spids: [45037 45057 45121 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          spids: [45124 45125 45127 16777215]
                                        )
                                      ]
                                      spids: [45016 45020 45130]
                                    )
                                  ]
                                  spids: [45013 45133]
                                )
                              spids: [45009 45011]
                            )
                            (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 44979]
                        )
                      ]
                      spids: [16777215 45160]
                    )
                    (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: [45221 45249]
                                      )
                                    }
                                  spids: [45216]
                                )
                              ]
                              spids: [45216]
                            )
                          ]
                          spids: [16777215 45194]
                        )
                      ]
                      spids: [16777215 45252]
                    )
                    (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: [45299]
                                )
                              ]
                              spids: [45299]
                            )
                            (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: [45341 45348 45350 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_append)} {(finalize_rpath)} 
                                              {(DQ (' ') ($ VSub_Name '$libdir'))}
                                            )
                                          ]
                                          spids: [45353 45354 45365 16777215]
                                        )
                                      ]
                                      spids: [45331 45338 45368]
                                    )
                                  ]
                                  spids: [45311 45371]
                                )
                              spids: [45307 45309]
                            )
                            (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: [45403]
                                        )
                                      ]
                                      spids: [45403]
                                    )
                                  ]
                                  spids: [16777215 45400]
                                )
                              ]
                              spids: [16777215 45411]
                            )
                          ]
                          spids: [16777215 45292]
                        )
                      ]
                      spids: [16777215 45414]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:old_dlfiles)
                          op: Equal
                          rhs: {($ VSub_Name '$dlfiles')}
                          spids: [45422]
                        )
                      ]
                      spids: [45422]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dlfiles)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [45426]
                        )
                      ]
                      spids: [45426]
                    )
                    (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: [45454 45461 45463 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(func_append)} {(dlfiles)} {(DQ (' ') ($ VSub_Name '$lib'))})
                                  ]
                                  spids: [45466 45467 45478 16777215]
                                )
                              ]
                              spids: [45441 45451 45481]
                            )
                          ]
                          spids: [45438 45484]
                        )
                      spids: [45434 45436]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:old_dlprefiles)
                          op: Equal
                          rhs: {($ VSub_Name '$dlprefiles')}
                          spids: [45492]
                        )
                      ]
                      spids: [45492]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dlprefiles)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [45496]
                        )
                      ]
                      spids: [45496]
                    )
                    (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: [45521 45528 45530 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(func_append)} {(dlprefiles)} {(DQ (' ') ($ VSub_Name '$lib'))})
                                  ]
                                  spids: [45533 45534 45545 16777215]
                                )
                              ]
                              spids: [45511 45518 45548]
                            )
                          ]
                          spids: [45508 45551]
                        )
                      spids: [45504 45506]
                    )
                    (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: [45592 45643 45650 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: [45653 45668 45684 16777215]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-netbsd) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [45687 45692 45699 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: [45702 45723 45730 16777215]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-sco3.2v5) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-sco5v6) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [45733 45746 45753 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: [45756 45785 45792 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 45816]
                                                )
                                              ]
                                              spids: [16777215 45828]
                                            )
                                          ]
                                          spids: [45795 45796 45831 16777215]
                                        )
                                      ]
                                      spids: [45585 45589 45834]
                                    )
                                  ]
                                  spids: [16777215 45582]
                                )
                              ]
                              spids: [16777215 45837]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:name_save)
                                  op: Equal
                                  rhs: {($ VSub_Name '$name')}
                                  spids: [45845]
                                )
                              ]
                              spids: [45845]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libname_save)
                                  op: Equal
                                  rhs: {($ VSub_Name '$libname')}
                                  spids: [45849]
                                )
                              ]
                              spids: [45849]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:release_save)
                                  op: Equal
                                  rhs: {($ VSub_Name '$release')}
                                  spids: [45853]
                                )
                              ]
                              spids: [45853]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:versuffix_save)
                                  op: Equal
                                  rhs: {($ VSub_Name '$versuffix')}
                                  spids: [45857]
                                )
                              ]
                              spids: [45857]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:major_save)
                                  op: Equal
                                  rhs: {($ VSub_Name '$major')}
                                  spids: [45861]
                                )
                              ]
                              spids: [45861]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:release)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [45877]
                                )
                              ]
                              spids: [45877]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:versuffix)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [45880]
                                )
                              ]
                              spids: [45880]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:major)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [45883]
                                )
                              ]
                              spids: [45883]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:newdeplibs)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [45886]
                                )
                              ]
                              spids: [45886]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:droppeddeps)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [45889]
                                )
                              ]
                              spids: [45889]
                            )
                            (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: [45924]
                                        )
                                      ]
                                      spids: [45924]
                                    )
                                  ]
                                  spids: [45900 45901 45928 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_id: Redir_Great
                                          fd: 16777215
                                          arg_word: {(conftest.c)}
                                          spids: [45962]
                                        )
                                        (HereDoc
                                          op_id: Redir_DLess
                                          fd: 16777215
                                          body: {(DQ ('\t  int main() { return 0; }\n'))}
                                          do_expansion: True
                                          here_end: EOF
                                          was_filled: T
                                          spids: [45966]
                                        )
                                      ]
                                    )
                                    (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: [46000 46004]
                                                      )
                                                    }
                                                  spids: [45999]
                                                )
                                              ]
                                              spids: [45999]
                                            )
                                            (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: [46043]
                                                                )
                                                              ]
                                                              spids: [46043]
                                                            )
                                                            (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: [46096]
                                                                                )
                                                                              ]
                                                                              spids: [46096]
                                                                            )
                                                                          ]
                                                                          spids: [
46076
46083
46099
16777215
                                                                          ]
                                                                        )
                                                                      ]
                                                                      spids: [46063 46073 46102]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 46060]
                                                                )
                                                              ]
                                                              spids: [16777215 46105]
                                                            )
                                                            (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: [46123 46134]
                                                                              )
                                                                            }
                                                                          spids: [46122]
                                                                        )
                                                                      ]
                                                                      spids: [46122]
                                                                    )
                                                                    (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: [46138 46149]
                                                                              )
                                                                            }
                                                                          spids: [46137]
                                                                        )
                                                                      ]
                                                                      spids: [46137]
                                                                    )
                                                                    (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: [46162]
                                                                        )
                                                                      ]
                                                                      spids: [46162]
                                                                    )
                                                                    (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: [
46170
46183
                                                                                      ]
                                                                                    )
                                                                                  } {(-ne)} {(0)}
                                                                                )
                                                                              terminator: 
                                                                                <Op_Semi ';'>
                                                                            )
                                                                          ]
                                                                          action: [
                                                                            (C {(func_append)} 
                                                                              {(newdeplibs)} {(DQ (' ') ($ VSub_Name '$i'))}
                                                                            )
                                                                          ]
                                                                          spids: [16777215 46190]
                                                                        )
                                                                      ]
                                                                      else_action: [
                                                                        (Assignment
                                                                          keyword: Assign_None
                                                                          pairs: [
                                                                            (assign_pair
                                                                              lhs: 
                                                                                (LhsName
                                                                                  name: droppeddeps
                                                                                )
                                                                              op: Equal
                                                                              rhs: {(yes)}
                                                                              spids: [46206]
                                                                            )
                                                                          ]
                                                                          spids: [46206]
                                                                        )
                                                                        (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: [46203 46257]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 46119]
                                                                )
                                                              ]
                                                              spids: [16777215 46260]
                                                            )
                                                          ]
                                                          spids: [46026 46028 46263 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (C {(func_append)} {(newdeplibs)} 
                                                              {(DQ (' ') ($ VSub_Name '$i'))}
                                                            )
                                                          ]
                                                          spids: [46266 46267 46280 16777215]
                                                        )
                                                      ]
                                                      spids: [46019 46023 46283]
                                                    )
                                                  ]
                                                  spids: [46016 46286]
                                                )
                                              spids: [46012 46014]
                                            )
                                          ]
                                          spids: [16777215 45996]
                                        )
                                      ]
                                      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: [46336]
                                                            )
                                                          ]
                                                          spids: [46336]
                                                        )
                                                        (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: [46368 46372]
                                                                          )
                                                                        }
                                                                      spids: [46367]
                                                                    )
                                                                  ]
                                                                  spids: [46367]
                                                                )
                                                                (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: [46424]
                                                                                    )
                                                                                  ]
                                                                                  spids: [46424]
                                                                                )
                                                                              ]
                                                                              spids: [
46404
46411
46427
16777215
                                                                              ]
                                                                            )
                                                                          ]
                                                                          spids: [46391 46401 46430]
                                                                        )
                                                                      ]
                                                                      spids: [16777215 46388]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 46433]
                                                                )
                                                                (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: [
46451
46462
                                                                                    ]
                                                                                  )
                                                                                }
                                                                              spids: [46450]
                                                                            )
                                                                          ]
                                                                          spids: [46450]
                                                                        )
                                                                        (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: [
46466
46477
                                                                                    ]
                                                                                  )
                                                                                }
                                                                              spids: [46465]
                                                                            )
                                                                          ]
                                                                          spids: [46465]
                                                                        )
                                                                        (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: [46490]
                                                                            )
                                                                          ]
                                                                          spids: [46490]
                                                                        )
                                                                        (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: [
46498
46511
                                                                                          ]
                                                                                        )
                                                                                      } {(-ne)} {(0)}
                                                                                    )
                                                                                  terminator: 
                                                                                    <Op_Semi ';'>
                                                                                )
                                                                              ]
                                                                              action: [
                                                                                (C {(func_append)} 
                                                                                  {(newdeplibs)} {(DQ (' ') ($ VSub_Name '$i'))}
                                                                                )
                                                                              ]
                                                                              spids: [16777215 46518]
                                                                            )
                                                                          ]
                                                                          else_action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: 
droppeddeps
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: {(yes)}
                                                                                  spids: [46534]
                                                                                )
                                                                              ]
                                                                              spids: [46534]
                                                                            )
                                                                            (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: [46531 46585]
                                                                        )
                                                                      ]
                                                                      spids: [16777215 46447]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 46588]
                                                                )
                                                              ]
                                                              spids: [16777215 46364]
                                                            )
                                                          ]
                                                          else_action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:droppeddeps)
                                                                  op: Equal
                                                                  rhs: {(yes)}
                                                                  spids: [46594]
                                                                )
                                                              ]
                                                              spids: [46594]
                                                            )
                                                            (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: [46591 46631]
                                                        )
                                                      ]
                                                      spids: [46319 46321 46634 16777215]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other '*')}]
                                                      action: [
                                                        (C {(func_append)} {(newdeplibs)} 
                                                          {(DQ (' ') ($ VSub_Name '$i'))}
                                                        )
                                                      ]
                                                      spids: [46637 46638 46651 16777215]
                                                    )
                                                  ]
                                                  spids: [46312 46316 46654]
                                                )
                                              ]
                                              spids: [46309 46657]
                                            )
                                          spids: [46305 46307]
                                        )
                                      ]
                                      spids: [46289 46660]
                                    )
                                  ]
                                  spids: [45931 45932 46663 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: [46682 46699]
                                              )
                                            }
                                          spids: [46681]
                                        )
                                      ]
                                      spids: [46681]
                                    )
                                    (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: [46738]
                                                        )
                                                      ]
                                                      spids: [46738]
                                                    )
                                                    (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: [46791]
                                                                        )
                                                                      ]
                                                                      spids: [46791]
                                                                    )
                                                                  ]
                                                                  spids: [46771 46778 46794 16777215]
                                                                )
                                                              ]
                                                              spids: [46758 46768 46797]
                                                            )
                                                          ]
                                                          spids: [16777215 46755]
                                                        )
                                                      ]
                                                      spids: [16777215 46800]
                                                    )
                                                    (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: [46818 46829]
                                                                      )
                                                                    }
                                                                  spids: [46817]
                                                                )
                                                              ]
                                                              spids: [46817]
                                                            )
                                                            (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: [46847 46861]
                                                                              )
                                                                            }
                                                                          spids: [46846]
                                                                        )
                                                                      ]
                                                                      spids: [46846]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 46843]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:libnameglob)
                                                                      op: Equal
                                                                      rhs: {($ VSub_Name '$libname')}
                                                                      spids: [46867]
                                                                    )
                                                                  ]
                                                                  spids: [46867]
                                                                )
                                                              ]
                                                              spids: [46864 46871]
                                                            )
                                                            (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: [46887 46893]
                                                                          )
                                                                        }
                                                                      spids: [46886]
                                                                    )
                                                                  ]
                                                                  spids: [46886]
                                                                )
                                                              ]
                                                            )
                                                            (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_id: 
Redir_Great
                                                                                                    fd: 
2
                                                                                                    arg_word: 
                                                                                                      {
                                                                                                        (
/dev/null
                                                                                                        )
                                                                                                      }
                                                                                                    spids: [
46947
                                                                                                    ]
                                                                                                  )
                                                                                                ]
                                                                                              )
                                                                                            ]
                                                                                          )
                                                                                        left_token: 
                                                                                          <
Left_Backtick '`'
                                                                                          >
                                                                                        spids: [
46936
46949
                                                                                        ]
                                                                                      )
                                                                                    }
                                                                                  spids: [46935]
                                                                                )
                                                                              ]
                                                                              spids: [46935]
                                                                            )
                                                                            (C 
                                                                              {
                                                                                ($ VSub_Name 
'$nocaseglob'
                                                                                )
                                                                              }
                                                                            )
                                                                          ]
                                                                          spids: [16777215 46925]
                                                                        )
                                                                      ]
                                                                      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_id: 
Redir_Great
                                                                                                fd: 
2
                                                                                                arg_word: 
                                                                                                  {
                                                                                                    (
/dev/null
                                                                                                    )
                                                                                                  }
                                                                                                spids: [
46970
                                                                                                ]
                                                                                              )
                                                                                            ]
                                                                                          )
                                                                                        ]
                                                                                      )
                                                                                    left_token: 
                                                                                      <
Left_Backtick '`'
                                                                                      >
                                                                                    spids: [
46959
46972
                                                                                    ]
                                                                                  )
                                                                                }
                                                                              spids: [46958]
                                                                            )
                                                                          ]
                                                                          spids: [46958]
                                                                        )
                                                                      ]
                                                                      spids: [46955 46975]
                                                                    )
                                                                    (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_id: 
Redir_Great
                                                                                                  fd: 
2
                                                                                                  arg_word: 
                                                                                                    {
                                                                                                      (
/dev/null
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
47004
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                            (SimpleCommand
                                                                                              words: [
                                                                                                {
                                                                                                  ($ 
VSub_Name '$GREP'
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (DQ 
                                                                                                    (
' -> '
                                                                                                    )
                                                                                                  )
                                                                                                }
                                                                                              ]
                                                                                              redirects: [
                                                                                                (Redir
                                                                                                  op_id: 
Redir_Great
                                                                                                  fd: 
16777215
                                                                                                  arg_word: 
                                                                                                    {
                                                                                                      (
/dev/null
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
47016
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          negated: F
                                                                                        )
                                                                                      terminator: 
                                                                                        <Op_Semi 
';'
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  action: [
                                                                                    (ControlFlow
                                                                                      token: 
                                                                                        <
ControlFlow_Continue continue
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  spids: [
16777215
47020
                                                                                  ]
                                                                                )
                                                                              ]
                                                                              spids: [16777215 47026]
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: potlib
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      ($ VSub_Name 
'$potent_lib'
                                                                                      )
                                                                                    }
                                                                                  spids: [47049]
                                                                                )
                                                                              ]
                                                                              spids: [47049]
                                                                            )
                                                                            (While
                                                                              cond: [
                                                                                (Sentence
                                                                                  child: 
                                                                                    (SimpleCommand
                                                                                      words: [
                                                                                        {(test)}
                                                                                        {(-h)}
                                                                                        {
                                                                                          (DQ 
                                                                                            ($ 
VSub_Name '$potlib'
                                                                                            )
                                                                                          )
                                                                                        }
                                                                                      ]
                                                                                      redirects: [
                                                                                        (Redir
                                                                                          op_id: 
Redir_Great
                                                                                          fd: 2
                                                                                          arg_word: 
                                                                                            {
                                                                                              (
/dev/null
                                                                                              )
                                                                                            }
                                                                                          spids: [
47063
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                    )
                                                                                  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: [
47071
47085
                                                                                                ]
                                                                                              )
                                                                                            }
                                                                                          spids: [
47070
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [47070]
                                                                                    )
                                                                                    (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: [
47114
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
47114
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
47095
47112
47116
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: [
47123
47137
                                                                                                        ]
                                                                                                      ) (DQ ($ VSub_Name '$potliblink'))
                                                                                                    }
                                                                                                  spids: [
47122
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
47122
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
47119
47120
47141
16777215
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
47088
47092
47144
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  spids: [47067 47147]
                                                                                )
                                                                            )
                                                                            (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_id: 
Redir_Great
                                                                                                  fd: 
2
                                                                                                  arg_word: 
                                                                                                    {
                                                                                                      (
/dev/null
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
47161
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                            (C 
                                                                                              {
                                                                                                ($ 
VSub_Name '$SED'
                                                                                                )
                                                                                              } {(-e)} {(10q)}
                                                                                            )
                                                                                            (SimpleCommand
                                                                                              words: [
                                                                                                {
                                                                                                  ($ 
VSub_Name '$EGREP'
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (DQ 
                                                                                                    ($ 
VSub_Name '$file_magic_regex'
                                                                                                    )
                                                                                                  )
                                                                                                }
                                                                                              ]
                                                                                              redirects: [
                                                                                                (Redir
                                                                                                  op_id: 
Redir_Great
                                                                                                  fd: 
16777215
                                                                                                  arg_word: 
                                                                                                    {
                                                                                                      (
/dev/null
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
47182
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          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: [
47200
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [47200]
                                                                                    )
                                                                                    (ControlFlow
                                                                                      token: 
                                                                                        <
ControlFlow_Break break
                                                                                        >
                                                                                      arg_word: {(2)}
                                                                                    )
                                                                                  ]
                                                                                  spids: [
16777215
47187
                                                                                  ]
                                                                                )
                                                                              ]
                                                                              spids: [16777215 47208]
                                                                            )
                                                                          ]
                                                                          spids: [46987 47211]
                                                                        )
                                                                      spids: [46983 46985]
                                                                    )
                                                                  ]
                                                                  spids: [46909 47214]
                                                                )
                                                              spids: [46901 46907]
                                                            )
                                                          ]
                                                          spids: [16777215 46814]
                                                        )
                                                      ]
                                                      spids: [16777215 47217]
                                                    )
                                                    (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: [47234]
                                                                )
                                                              ]
                                                              spids: [47234]
                                                            )
                                                            (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 47289]
                                                                )
                                                              ]
                                                              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: [47301 47321]
                                                            )
                                                          ]
                                                          spids: [16777215 47231]
                                                        )
                                                      ]
                                                      spids: [16777215 47324]
                                                    )
                                                  ]
                                                  spids: [46721 46723 47327 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (C {(func_append)} {(newdeplibs)} 
                                                      {(DQ (' ') ($ VSub_Name '$a_deplib'))}
                                                    )
                                                  ]
                                                  spids: [47330 47331 47348 16777215]
                                                )
                                              ]
                                              spids: [46714 46718 47351]
                                            )
                                          ]
                                          spids: [46711 47354]
                                        )
                                      spids: [46707 46709]
                                    )
                                  ]
                                  spids: [46666 46668 47360 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: [47379 47396]
                                              )
                                            }
                                          spids: [47378]
                                        )
                                      ]
                                      spids: [47378]
                                    )
                                    (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: [47435]
                                                        )
                                                      ]
                                                      spids: [47435]
                                                    )
                                                    (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: [47488]
                                                                        )
                                                                      ]
                                                                      spids: [47488]
                                                                    )
                                                                  ]
                                                                  spids: [47468 47475 47491 16777215]
                                                                )
                                                              ]
                                                              spids: [47455 47465 47494]
                                                            )
                                                          ]
                                                          spids: [16777215 47452]
                                                        )
                                                      ]
                                                      spids: [16777215 47497]
                                                    )
                                                    (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: [47515 47526]
                                                                      )
                                                                    }
                                                                  spids: [47514]
                                                                )
                                                              ]
                                                              spids: [47514]
                                                            )
                                                            (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_id: 
Redir_Great
                                                                                            fd: 2
                                                                                            arg_word: 
                                                                                              {
                                                                                                (
/dev/null
                                                                                                )
                                                                                              }
                                                                                            spids: [
47557
                                                                                            ]
                                                                                          )
                                                                                        ]
                                                                                      )
                                                                                    ]
                                                                                  )
                                                                                left_token: 
                                                                                  <Left_Backtick 
'`'
                                                                                  >
                                                                                spids: [47546 47559]
                                                                              )
                                                                            }
                                                                          spids: [47545]
                                                                        )
                                                                      ]
                                                                      spids: [47545]
                                                                    )
                                                                    (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: [47574]
                                                                                )
                                                                              ]
                                                                              spids: [47574]
                                                                            )
                                                                            (If
                                                                              arms: [
                                                                                (if_arm
                                                                                  cond: [
                                                                                    (Sentence
                                                                                      child: 
                                                                                        (Pipeline
                                                                                          children: [
                                                                                            (SimpleCommand
                                                                                              words: [
                                                                                                {
                                                                                                  (
eval
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (DQ 
                                                                                                    (EscapedLiteralPart
                                                                                                      token: 
                                                                                                        <
Lit_EscapedChar '\\$'
                                                                                                        >
                                                                                                    ) ('ECHO ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$potent_lib') 
                                                                                                    (EscapedLiteralPart
                                                                                                      token: 
                                                                                                        <
Lit_EscapedChar '\\"'
                                                                                                        >
                                                                                                    )
                                                                                                  )
                                                                                                }
                                                                                              ]
                                                                                              redirects: [
                                                                                                (Redir
                                                                                                  op_id: 
Redir_Great
                                                                                                  fd: 
2
                                                                                                  arg_word: 
                                                                                                    {
                                                                                                      (
/dev/null
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
47593
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                            (C 
                                                                                              {
                                                                                                ($ 
VSub_Name '$SED'
                                                                                                )
                                                                                              } {(10q)}
                                                                                            )
                                                                                            (SimpleCommand
                                                                                              words: [
                                                                                                {
                                                                                                  ($ 
VSub_Name '$EGREP'
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (DQ 
                                                                                                    ($ 
VSub_Name '$match_pattern_regex'
                                                                                                    )
                                                                                                  )
                                                                                                }
                                                                                              ]
                                                                                              redirects: [
                                                                                                (Redir
                                                                                                  op_id: 
Redir_Great
                                                                                                  fd: 
16777215
                                                                                                  arg_word: 
                                                                                                    {
                                                                                                      (
/dev/null
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
47612
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          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: [
47630
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [47630]
                                                                                    )
                                                                                    (ControlFlow
                                                                                      token: 
                                                                                        <
ControlFlow_Break break
                                                                                        >
                                                                                      arg_word: {(2)}
                                                                                    )
                                                                                  ]
                                                                                  spids: [
16777215
47617
                                                                                  ]
                                                                                )
                                                                              ]
                                                                              spids: [16777215 47638]
                                                                            )
                                                                          ]
                                                                          spids: [47571 47641]
                                                                        )
                                                                      spids: [47567 47569]
                                                                    )
                                                                  ]
                                                                  spids: [47542 47644]
                                                                )
                                                              spids: [47534 47540]
                                                            )
                                                          ]
                                                          spids: [16777215 47511]
                                                        )
                                                      ]
                                                      spids: [16777215 47647]
                                                    )
                                                    (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: [47664]
                                                                )
                                                              ]
                                                              spids: [47664]
                                                            )
                                                            (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 47719]
                                                                )
                                                              ]
                                                              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: [47731 47751]
                                                            )
                                                          ]
                                                          spids: [16777215 47661]
                                                        )
                                                      ]
                                                      spids: [16777215 47754]
                                                    )
                                                  ]
                                                  spids: [47418 47420 47757 16777215]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (C {(func_append)} {(newdeplibs)} 
                                                      {(DQ (' ') ($ VSub_Name '$a_deplib'))}
                                                    )
                                                  ]
                                                  spids: [47760 47761 47778 16777215]
                                                )
                                              ]
                                              spids: [47411 47415 47781]
                                            )
                                          ]
                                          spids: [47408 47784]
                                        )
                                      spids: [47404 47406]
                                    )
                                  ]
                                  spids: [47363 47365 47790 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: [47805]
                                        )
                                      ]
                                      spids: [47805]
                                    )
                                    (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: [47809 47824]
                                              )
                                            }
                                          spids: [47808]
                                        )
                                      ]
                                      spids: [47808]
                                    )
                                    (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: [47862 47879]
                                                              )
                                                            }
                                                          spids: [47861]
                                                        )
                                                      ]
                                                      spids: [47861]
                                                    )
                                                  ]
                                                  spids: [47854 47882]
                                                )
                                              spids: [47848 47852]
                                            )
                                          ]
                                          spids: [16777215 47840]
                                        )
                                      ]
                                      spids: [16777215 47885]
                                    )
                                    (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 47921]
                                                )
                                              ]
                                              else_action: [
                                                (C {(echo)} 
                                                  {
                                                    (DQ 
                                                      (
'*** Warning: inter-library dependencies are not known to be supported.'
                                                      )
                                                    )
                                                  }
                                                )
                                              ]
                                              spids: [47931 47941]
                                            )
                                            (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: [47951]
                                                )
                                              ]
                                              spids: [47951]
                                            )
                                          ]
                                          spids: [47895 47902 47955 16777215]
                                        )
                                      ]
                                      spids: [47888 47892 47958]
                                    )
                                  ]
                                  spids: [47793 47802 47961 16777215]
                                )
                              ]
                              spids: [45893 45897 47964]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:versuffix)
                                  op: Equal
                                  rhs: {($ VSub_Name '$versuffix_save')}
                                  spids: [47967]
                                )
                              ]
                              spids: [47967]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:major)
                                  op: Equal
                                  rhs: {($ VSub_Name '$major_save')}
                                  spids: [47971]
                                )
                              ]
                              spids: [47971]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:release)
                                  op: Equal
                                  rhs: {($ VSub_Name '$release_save')}
                                  spids: [47975]
                                )
                              ]
                              spids: [47975]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libname)
                                  op: Equal
                                  rhs: {($ VSub_Name '$libname_save')}
                                  spids: [47979]
                                )
                              ]
                              spids: [47979]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:name)
                                  op: Equal
                                  rhs: {($ VSub_Name '$name_save')}
                                  spids: [47983]
                                )
                              ]
                              spids: [47983]
                            )
                            (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: [48018 48033]
                                              )
                                            }
                                          spids: [48017]
                                        )
                                      ]
                                      spids: [48017]
                                    )
                                  ]
                                  spids: [47995 48010 48036 16777215]
                                )
                              ]
                              spids: [47988 47992 48039]
                            )
                            (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 48119]
                                                )
                                              ]
                                              spids: [16777215 48153]
                                            )
                                            (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: [48172]
                                                        )
                                                      ]
                                                      spids: [48172]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:build_libtool_libs)
                                                          op: Equal
                                                          rhs: {(module)}
                                                          spids: [48180]
                                                        )
                                                      ]
                                                      spids: [48180]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:build_old_libs)
                                                          op: Equal
                                                          rhs: {(yes)}
                                                          spids: [48184]
                                                        )
                                                      ]
                                                      spids: [48184]
                                                    )
                                                  ]
                                                  spids: [16777215 48169]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:build_libtool_libs)
                                                      op: Equal
                                                      rhs: {(no)}
                                                      spids: [48191]
                                                    )
                                                  ]
                                                  spids: [48191]
                                                )
                                              ]
                                              spids: [48188 48195]
                                            )
                                          ]
                                          spids: [16777215 48072]
                                        )
                                      ]
                                      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: [48286]
                                                            )
                                                          ]
                                                          spids: [48286]
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:build_libtool_libs)
                                                              op: Equal
                                                              rhs: {(module)}
                                                              spids: [48294]
                                                            )
                                                          ]
                                                          spids: [48294]
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:build_old_libs)
                                                              op: Equal
                                                              rhs: {(yes)}
                                                              spids: [48298]
                                                            )
                                                          ]
                                                          spids: [48298]
                                                        )
                                                      ]
                                                      spids: [16777215 48283]
                                                    )
                                                  ]
                                                  else_action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:build_libtool_libs)
                                                          op: Equal
                                                          rhs: {(no)}
                                                          spids: [48305]
                                                        )
                                                      ]
                                                      spids: [48305]
                                                    )
                                                  ]
                                                  spids: [48302 48309]
                                                )
                                              ]
                                              spids: [16777215 48236]
                                            )
                                          ]
                                          spids: [16777215 48312]
                                        )
                                      ]
                                      spids: [48198 48315]
                                    )
                                  ]
                                  spids: [16777215 48056]
                                )
                              ]
                              spids: [16777215 48318]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$newdeplibs')}
                                  spids: [48325]
                                )
                              ]
                              spids: [48325]
                            )
                          ]
                          spids: [16777215 45568]
                        )
                      ]
                      spids: [16777215 48329]
                    )
                    (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: [48352 48367]
                                      )
                                    }
                                  spids: [48351]
                                )
                              ]
                              spids: [48351]
                            )
                            (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: [48371 48386]
                                      )
                                    }
                                  spids: [48370]
                                )
                              ]
                              spids: [48370]
                            )
                            (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: [48390 48405]
                                      )
                                    }
                                  spids: [48389]
                                )
                              ]
                              spids: [48389]
                            )
                          ]
                          spids: [48343 48348 48408 16777215]
                        )
                      ]
                      spids: [48336 48340 48411]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:new_libs)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [48423]
                        )
                      ]
                      spids: [48423]
                    )
                    (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: [48449 48458 48460 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: [48478 48487 48501 16777215]
                                        )
                                      ]
                                      spids: [48467 48475 48504]
                                    )
                                  ]
                                  spids: [48463 48464 48507 16777215]
                                )
                              ]
                              spids: [48438 48446 48510]
                            )
                          ]
                          spids: [48435 48513]
                        )
                      spids: [48431 48433]
                    )
                    (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: [48551 48558 48560 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_append)} {(new_libs)} 
                                              {(DQ (' ') ($ VSub_Name '$deplib'))}
                                            )
                                          ]
                                          spids: [48563 48564 48575 16777215]
                                        )
                                      ]
                                      spids: [48540 48548 48578]
                                    )
                                  ]
                                  spids: [48535 48537 48581 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(func_append)} {(new_libs)} {(DQ (' ') ($ VSub_Name '$deplib'))})
                                  ]
                                  spids: [48584 48585 48596 16777215]
                                )
                              ]
                              spids: [48528 48532 48599]
                            )
                          ]
                          spids: [48525 48602]
                        )
                      spids: [48521 48523]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:deplibs)
                          op: Equal
                          rhs: {($ VSub_Name '$new_libs')}
                          spids: [48605]
                        )
                      ]
                      spids: [48605]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:library_names)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [48614]
                        )
                      ]
                      spids: [48614]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:old_library)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [48617]
                        )
                      ]
                      spids: [48617]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dlname)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [48620]
                        )
                      ]
                      spids: [48620]
                    )
                    (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: [48666]
                                        )
                                      ]
                                      spids: [48666]
                                    )
                                  ]
                                  spids: [48659 48664 48668 16777215]
                                )
                              ]
                              spids: [48652 48656 48671]
                            )
                            (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: [48694]
                                        )
                                      ]
                                      spids: [48694]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dep_rpath)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [48697]
                                        )
                                      ]
                                      spids: [48697]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:rpath)
                                          op: Equal
                                          rhs: {($ VSub_Name '$finalize_rpath')}
                                          spids: [48700]
                                        )
                                      ]
                                      spids: [48700]
                                    )
                                    (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: [48716]
                                            )
                                          ]
                                          spids: [48716]
                                        )
                                      ]
                                    )
                                    (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: [48768]
                                                                )
                                                              ]
                                                              spids: [48768]
                                                            )
                                                            (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: [48786]
                                                                        )
                                                                      ]
                                                                      spids: [48786]
                                                                    )
                                                                  ]
                                                                  spids: [16777215 48783]
                                                                )
                                                              ]
                                                              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: [
48806
48813
48816
16777215
                                                                      ]
                                                                    )
                                                                    (case_arm
                                                                      pat_list: [{(Lit_Other '*')}]
                                                                      action: [
                                                                        (C {(func_append)} 
                                                                          {(hardcode_libdirs)} {(DQ ($ VSub_Name '$hardcode_libdir_separator') ($ VSub_Name '$libdir'))}
                                                                        )
                                                                      ]
                                                                      spids: [
48819
48820
48833
16777215
                                                                      ]
                                                                    )
                                                                  ]
                                                                  spids: [48797 48803 48836]
                                                                )
                                                              ]
                                                              spids: [48790 48839]
                                                            )
                                                          ]
                                                          spids: [16777215 48758]
                                                        )
                                                      ]
                                                      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: [48842 48863]
                                                    )
                                                  ]
                                                  spids: [16777215 48744]
                                                )
                                                (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: [48890 48897 48899 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (C {(func_append)} {(perm_rpath)} 
                                                              {(DQ (' ') ($ VSub_Name '$libdir'))}
                                                            )
                                                          ]
                                                          spids: [48902 48903 48914 16777215]
                                                        )
                                                      ]
                                                      spids: [48880 48887 48917]
                                                    )
                                                  ]
                                                  spids: [48866 48877]
                                                )
                                              ]
                                              spids: [16777215 48920]
                                            )
                                          ]
                                          spids: [48730 48923]
                                        )
                                      spids: [48726 48728]
                                    )
                                    (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: [48955]
                                                )
                                              ]
                                              spids: [48955]
                                            )
                                            (C {(eval)} 
                                              {
                                                (DQ ('dep_rpath=') 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar '\\"'>
                                                  ) ($ VSub_Name '$hardcode_libdir_flag_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                )
                                              }
                                            )
                                          ]
                                          spids: [16777215 48952]
                                        )
                                      ]
                                      spids: [16777215 48969]
                                    )
                                    (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: [49000]
                                                )
                                              ]
                                              spids: [49000]
                                            )
                                            (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: [49012 49025]
                                                )
                                              spids: [49008 49010]
                                            )
                                            (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 48993]
                                        )
                                      ]
                                      spids: [16777215 49041]
                                    )
                                    (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: [49054]
                                            )
                                          ]
                                          spids: [49054]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16777215 48687]
                                )
                              ]
                              spids: [16777215 49062]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:shlibpath)
                                  op: Equal
                                  rhs: {($ VSub_Name '$finalize_shlibpath')}
                                  spids: [49066]
                                )
                              ]
                              spids: [49066]
                            )
                            (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: [49082]
                                    )
                                  ]
                                  spids: [49082]
                                )
                              ]
                            )
                            (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 49098]
                                )
                              ]
                              spids: [16777215 49114]
                            )
                            (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: [49148]
                                )
                              ]
                              spids: [49148]
                            )
                            (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 49167]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:soname)
                                      op: Equal
                                      rhs: {($ VSub_Name '$realname')}
                                      spids: [49181]
                                    )
                                  ]
                                  spids: [49181]
                                )
                              ]
                              spids: [49178 49185]
                            )
                            (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: [49202]
                                        )
                                      ]
                                      spids: [49202]
                                    )
                                  ]
                                  spids: [16777215 49199]
                                )
                              ]
                              spids: [16777215 49206]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:lib)
                                  op: Equal
                                  rhs: {($ VSub_Name '$output_objdir') (/) ($ VSub_Name '$realname')}
                                  spids: [49210]
                                )
                              ]
                              spids: [49210]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:linknames)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [49216]
                                )
                              ]
                              spids: [49216]
                            )
                            (ForEach
                              iter_name: link
                              do_arg_iter: T
                              body: 
                                (DoGroup
                                  children: [
                                    (C {(func_append)} {(linknames)} {(DQ (' ') ($ VSub_Name '$link'))})
                                  ]
                                  spids: [49224 49237]
                                )
                              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: [49256 49278]
                                          )
                                        }
                                      spids: [49255]
                                    )
                                  ]
                                  spids: [49255]
                                )
                              ]
                            )
                            (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: [49296]
                                    )
                                  ]
                                  spids: [49296]
                                )
                              ]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:delfiles)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [49300]
                                )
                              ]
                              spids: [49300]
                            )
                            (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: [49345]
                                        )
                                      ]
                                      spids: [49345]
                                    )
                                    (C {(func_append)} {(delfiles)} 
                                      {(DQ (' ') ($ VSub_Name '$export_symbols'))}
                                    )
                                  ]
                                  spids: [16777215 49324]
                                )
                              ]
                              spids: [16777215 49362]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:orig_export_symbols)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [49366]
                                )
                              ]
                              spids: [49366]
                            )
                            (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: [49454]
                                                        )
                                                      ]
                                                      spids: [49454]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:export_symbols)
                                                          op: Equal
                                                          rhs: {(EmptyPart)}
                                                          spids: [49458]
                                                        )
                                                      ]
                                                      spids: [49458]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:always_export_symbols)
                                                          op: Equal
                                                          rhs: {(yes)}
                                                          spids: [49461]
                                                        )
                                                      ]
                                                      spids: [49461]
                                                    )
                                                  ]
                                                  spids: [49427]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [16777215 49412]
                                        )
                                      ]
                                      spids: [16777215 49468]
                                    )
                                  ]
                                  spids: [49376 49388 49471 16777215]
                                )
                              ]
                              spids: [49369 49373 49474]
                            )
                            (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: [49531]
                                                )
                                              ]
                                              spids: [49531]
                                            )
                                            (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: [49547]
                                                )
                                              ]
                                              spids: [49547]
                                            )
                                            (Sentence
                                              child: 
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:save_ifs)
                                                      op: Equal
                                                      rhs: {($ VSub_Name '$IFS')}
                                                      spids: [49551]
                                                    )
                                                  ]
                                                  spids: [49551]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:IFS)
                                                  op: Equal
                                                  rhs: {(SQ <'~'>)}
                                                  spids: [49555]
                                                )
                                              ]
                                              spids: [49555]
                                            )
                                            (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: [49573]
                                                        )
                                                      ]
                                                      spids: [49573]
                                                    )
                                                    (Case
                                                      to_match: 
                                                        {($ VSub_Name '$nm_file_list_spec') 
                                                          (Lit_Tilde '~') ($ VSub_Name '$to_tool_file_cmd')
                                                        }
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other '*') (Lit_Tilde '~') 
                                                              (func_convert_file_noop)
                                                            }
                                                            {(Lit_Other '*') (Lit_Tilde '~') 
                                                              (func_convert_file_msys_to_w32)
                                                            }
                                                            {(Lit_Tilde '~') (Lit_Other '*')}
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: 
                                                                    (LhsName
                                                                      name: try_normal_branch
                                                                    )
                                                                  op: Equal
                                                                  rhs: {(yes)}
                                                                  spids: [49611]
                                                                )
                                                              ]
                                                              spids: [49611]
                                                            )
                                                            (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: [49631]
                                                                )
                                                              ]
                                                              spids: [49631]
                                                            )
                                                          ]
                                                          spids: [49594 49608 49635 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: [49642]
                                                                )
                                                              ]
                                                              spids: [49642]
                                                            )
                                                          ]
                                                          spids: [49638 49639 49646 16777215]
                                                        )
                                                      ]
                                                      spids: [49585 49591 49649]
                                                    )
                                                    (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: [49668]
                                                                )
                                                              ]
                                                            )
                                                          ]
                                                          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: [49714]
                                                                )
                                                              ]
                                                              spids: [49714]
                                                            )
                                                          ]
                                                          spids: [16777215 49700]
                                                        )
                                                        (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: [49739]
                                                                )
                                                              ]
                                                              spids: [49739]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:save_libobjs)
                                                                  op: Equal
                                                                  rhs: {($ VSub_Name '$libobjs')}
                                                                  spids: [49743]
                                                                )
                                                              ]
                                                              spids: [49743]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:save_output)
                                                                  op: Equal
                                                                  rhs: {($ VSub_Name '$output')}
                                                                  spids: [49747]
                                                                )
                                                              ]
                                                              spids: [49747]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:output)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {($ VSub_Name '$output_objdir') 
                                                                      (/) ($ VSub_Name '$output_la') (.nm)
                                                                    }
                                                                  spids: [49751]
                                                                )
                                                              ]
                                                              spids: [49751]
                                                            )
                                                            (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: [49765]
                                                                )
                                                              ]
                                                              spids: [49765]
                                                            )
                                                            (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: [49799 49816]
                                                                )
                                                              redirects: [
                                                                (Redir
                                                                  op_id: Redir_Great
                                                                  fd: 16777215
                                                                  arg_word: 
                                                                    {(DQ ($ VSub_Name '$output'))}
                                                                  spids: [49818]
                                                                )
                                                              ]
                                                              spids: [49795 49797]
                                                            )
                                                            (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: [49844]
                                                                )
                                                              ]
                                                              spids: [49844]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:libobjs)
                                                                  op: Equal
                                                                  rhs: {($ VSub_Name '$save_libobjs')}
                                                                  spids: [49848]
                                                                )
                                                              ]
                                                              spids: [49848]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:skipped_export)
                                                                  op: Equal
                                                                  rhs: {(false)}
                                                                  spids: [49852]
                                                                )
                                                              ]
                                                              spids: [49852]
                                                            )
                                                          ]
                                                          spids: [49718 49729]
                                                        )
                                                      ]
                                                      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: [49870]
                                                            )
                                                          ]
                                                          spids: [49870]
                                                        )
                                                        (ControlFlow
                                                          token: <ControlFlow_Break break>
                                                        )
                                                      ]
                                                      spids: [49856 49885]
                                                    )
                                                  ]
                                                  spids: [49570 49888]
                                                )
                                              spids: [49566 49568]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:IFS)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$save_ifs')}
                                                  spids: [49891]
                                                )
                                              ]
                                              spids: [49891]
                                            )
                                            (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 49919]
                                                )
                                              ]
                                              spids: [16777215 49936]
                                            )
                                          ]
                                          spids: [16777215 49519]
                                        )
                                      ]
                                      spids: [16777215 49939]
                                    )
                                  ]
                                  spids: [16777215 49493]
                                )
                              ]
                              spids: [16777215 49942]
                            )
                            (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: [49970]
                                        )
                                      ]
                                      spids: [49970]
                                    )
                                    (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: [49984]
                                            )
                                          ]
                                          spids: [49984]
                                        )
                                      ]
                                    )
                                    (AndOr
                                      ops: [Op_DPipe]
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (C {(eval)} 
                                          {
                                            (SQ 
                                              <
'$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
                                              >
                                            )
                                          }
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16777215 49967]
                                )
                              ]
                              spids: [16777215 49999]
                            )
                            (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_id: Redir_Less
                                              fd: 16777215
                                              arg_word: {($ VSub_Name '$export_symbols')}
                                              spids: [50075]
                                            )
                                            (Redir
                                              op_id: Redir_Great
                                              fd: 16777215
                                              arg_word: 
                                                {($ VSub_Name '$output_objdir') (/) 
                                                  ($ VSub_Name '$libname') (.filter)
                                                }
                                              spids: [50079]
                                            )
                                          ]
                                        )
                                      ]
                                    )
                                    (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: [50102]
                                        )
                                      ]
                                      spids: [50102]
                                    )
                                    (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_id: Redir_Less
                                              fd: 16777215
                                              arg_word: {($ VSub_Name '$orig_export_symbols')}
                                              spids: [50122]
                                            )
                                            (Redir
                                              op_id: Redir_Great
                                              fd: 16777215
                                              arg_word: {($ VSub_Name '$export_symbols')}
                                              spids: [50126]
                                            )
                                          ]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16777215 50027]
                                )
                              ]
                              spids: [16777215 50131]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:tmp_deplibs)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [50135]
                                )
                              ]
                              spids: [50135]
                            )
                            (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: [50161 50168 50170 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_append)} {(tmp_deplibs)} 
                                              {(DQ (' ') ($ VSub_Name '$test_deplib'))}
                                            )
                                          ]
                                          spids: [50173 50174 50187 16777215]
                                        )
                                      ]
                                      spids: [50150 50158 50190]
                                    )
                                  ]
                                  spids: [50147 50193]
                                )
                              spids: [50143 50145]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$tmp_deplibs')}
                                  spids: [50196]
                                )
                              ]
                              spids: [50196]
                            )
                            (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: [50261]
                                                )
                                              ]
                                              spids: [50261]
                                            )
                                          ]
                                          spids: [16777215 50250]
                                        )
                                      ]
                                      spids: [16777215 50264]
                                    )
                                    (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: [50281]
                                                )
                                              ]
                                              spids: [50281]
                                            )
                                            (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: [50311]
                                                    )
                                                  ]
                                                  spids: [50311]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [16777215 50278]
                                        )
                                      ]
                                      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: [50317]
                                            )
                                          ]
                                          spids: [50317]
                                        )
                                        (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: [50369]
                                                )
                                              ]
                                              spids: [50369]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [50314 50372]
                                    )
                                  ]
                                  spids: [16777215 50212]
                                )
                              ]
                              spids: [16777215 50375]
                            )
                            (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 50402]
                                )
                              ]
                              spids: [16777215 50423]
                            )
                            (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 50444]
                                )
                              ]
                              spids: [16777215 50464]
                            )
                            (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: [50530]
                                                )
                                              ]
                                              spids: [50530]
                                            )
                                          ]
                                          spids: [16777215 50519]
                                        )
                                      ]
                                      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: [50545]
                                            )
                                          ]
                                          spids: [50545]
                                        )
                                      ]
                                      spids: [50534 50549]
                                    )
                                  ]
                                  spids: [16777215 50495]
                                )
                              ]
                              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: [50587]
                                            )
                                          ]
                                          spids: [50587]
                                        )
                                      ]
                                      spids: [16777215 50576]
                                    )
                                  ]
                                  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: [50602]
                                        )
                                      ]
                                      spids: [50602]
                                    )
                                  ]
                                  spids: [50591 50606]
                                )
                              ]
                              spids: [50552 50609]
                            )
                            (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: [50639]
                                                )
                                              ]
                                              spids: [50639]
                                            )
                                            (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 50670]
                                )
                              ]
                              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: [50748]
                                            )
                                          ]
                                          spids: [50748]
                                        )
                                      ]
                                      spids: [16777215 50745]
                                    )
                                  ]
                                  spids: [16777215 50752]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:save_output)
                                      op: Equal
                                      rhs: {($ VSub_Name '$output')}
                                      spids: [50755]
                                    )
                                  ]
                                  spids: [50755]
                                )
                                (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: [50766]
                                    )
                                  ]
                                  spids: [50766]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:test_cmds)
                                      op: Equal
                                      rhs: {(EmptyPart)}
                                      spids: [50779]
                                    )
                                  ]
                                  spids: [50779]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:concat_cmds)
                                      op: Equal
                                      rhs: {(EmptyPart)}
                                      spids: [50782]
                                    )
                                  ]
                                  spids: [50782]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:objlist)
                                      op: Equal
                                      rhs: {(EmptyPart)}
                                      spids: [50785]
                                    )
                                  ]
                                  spids: [50785]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:last_robj)
                                      op: Equal
                                      rhs: {(EmptyPart)}
                                      spids: [50788]
                                    )
                                  ]
                                  spids: [50788]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:k)
                                      op: Equal
                                      rhs: {(1)}
                                      spids: [50791]
                                    )
                                  ]
                                  spids: [50791]
                                )
                                (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: [50835]
                                            )
                                          ]
                                          spids: [50835]
                                        )
                                        (C {(func_verbose)} 
                                          {(DQ ('creating GNU ld script: ') ($ VSub_Name '$output'))}
                                        )
                                        (SimpleCommand
                                          words: [{(echo)} {(SQ <'INPUT ('>)}]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Great
                                              fd: 16777215
                                              arg_word: {($ VSub_Name '$output')}
                                              spids: [50856]
                                            )
                                          ]
                                        )
                                        (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_id: Redir_DGreat
                                                      fd: 16777215
                                                      arg_word: {($ VSub_Name '$output')}
                                                      spids: [50886]
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [50870 50891]
                                            )
                                          spids: [50866 16777215]
                                        )
                                        (SimpleCommand
                                          words: [{(echo)} {(SQ <')'>)}]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_DGreat
                                              fd: 16777215
                                              arg_word: {($ VSub_Name '$output')}
                                              spids: [50900]
                                            )
                                          ]
                                        )
                                        (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: [50922]
                                            )
                                          ]
                                          spids: [50922]
                                        )
                                      ]
                                      spids: [16777215 50832]
                                    )
                                    (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: [50963]
                                            )
                                          ]
                                          spids: [50963]
                                        )
                                        (C {(func_verbose)} 
                                          {
                                            (DQ ('creating linker input file list: ') 
                                              ($ VSub_Name '$output')
                                            )
                                          }
                                        )
                                        (SimpleCommand
                                          words: [{(Lit_Other ':')}]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Great
                                              fd: 16777215
                                              arg_word: {($ VSub_Name '$output')}
                                              spids: [50980]
                                            )
                                          ]
                                        )
                                        (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: [50995]
                                            )
                                          ]
                                          spids: [50995]
                                        )
                                        (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: [51014]
                                                    )
                                                  ]
                                                  spids: [51014]
                                                )
                                                (C {(shift)})
                                              ]
                                              spids: [16777215 51011]
                                            )
                                          ]
                                          spids: [16777215 51024]
                                        )
                                        (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_id: Redir_DGreat
                                                      fd: 16777215
                                                      arg_word: {($ VSub_Name '$output')}
                                                      spids: [51048]
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [51032 51053]
                                            )
                                          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: [51073]
                                            )
                                          ]
                                          spids: [51073]
                                        )
                                      ]
                                      spids: [50926 50960]
                                    )
                                  ]
                                  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: [51105]
                                                )
                                              ]
                                              spids: [51105]
                                            )
                                            (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: [51131]
                                                )
                                              ]
                                              spids: [51131]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:len)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$len0')}
                                                  spids: [51135]
                                                )
                                              ]
                                              spids: [51135]
                                            )
                                            (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: [51173]
                                                        )
                                                      ]
                                                      spids: [51173]
                                                    )
                                                    (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 51203]
                                                        )
                                                      ]
                                                      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: [51247]
                                                                    )
                                                                  ]
                                                                  spids: [51247]
                                                                )
                                                                (C {(eval)} 
                                                                  {(Lit_VarLike 'concat_cmds=') 
                                                                    (EscapedLiteralPart
                                                                      token: <Lit_EscapedChar '\\"'>
                                                                    ) ($ VSub_Name '$reload_cmds') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                                  }
                                                                )
                                                              ]
                                                              spids: [16777215 51240]
                                                            )
                                                          ]
                                                          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: [51270]
                                                                )
                                                              ]
                                                              spids: [51270]
                                                            )
                                                            (C {(eval)} 
                                                              {(Lit_VarLike 'concat_cmds=') 
                                                                (EscapedLiteralPart
                                                                  token: <Lit_EscapedChar '\\"'>
                                                                ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (concat_cmds) (Lit_Tilde '~') 
                                                                ($ VSub_Name '$reload_cmds') (Lit_Tilde '~') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (RM)
                                                              } {($ VSub_Name '$last_robj') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)}
                                                            )
                                                          ]
                                                          spids: [51259 51294]
                                                        )
                                                        (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: [51297]
                                                            )
                                                          ]
                                                          spids: [51297]
                                                        )
                                                        (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: [51316]
                                                            )
                                                          ]
                                                          spids: [51316]
                                                        )
                                                        (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: [51320]
                                                            )
                                                          ]
                                                          spids: [51320]
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:objlist)
                                                              op: Equal
                                                              rhs: {(DQ (' ') ($ VSub_Name '$obj'))}
                                                              spids: [51330]
                                                            )
                                                          ]
                                                          spids: [51330]
                                                        )
                                                        (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: [51354]
                                                            )
                                                          ]
                                                          spids: [51354]
                                                        )
                                                      ]
                                                      spids: [51216 51358]
                                                    )
                                                  ]
                                                  spids: [51153 51361]
                                                )
                                              spids: [51149 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_Tilde '~')
                                                        }
                                                      spids: [51386]
                                                    )
                                                  ]
                                                  spids: [51386]
                                                )
                                              ]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:reload_objs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$objlist') (' ') 
                                                        ($ VSub_Name '$last_robj')
                                                      )
                                                    }
                                                  spids: [51391]
                                                )
                                              ]
                                              spids: [51391]
                                            )
                                            (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_Tilde '~') 
                                                        (EscapedLiteralPart
                                                          token: <Lit_EscapedChar '\\$'>
                                                        ) (RM)
                                                      } {($ VSub_Name '$last_robj') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)}
                                                    )
                                                  ]
                                                  spids: [16777215 51420]
                                                )
                                              ]
                                              spids: [16777215 51437]
                                            )
                                            (C {(func_append)} {(delfiles)} 
                                              {(DQ (' ') ($ VSub_Name '$output'))}
                                            )
                                          ]
                                          spids: [16777215 51095]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:output)
                                              op: Equal
                                              rhs: {(EmptyPart)}
                                              spids: [51454]
                                            )
                                          ]
                                          spids: [51454]
                                        )
                                      ]
                                      spids: [51451 51457]
                                    )
                                    (AndOr
                                      ops: [Op_DAmp]
                                      children: [
                                        (C 
                                          {
                                            (BracedVarSub
                                              token: <VSub_Name skipped_export>
                                              suffix_op: 
                                                (StringUnary
                                                  op_id: VTest_Hyphen
                                                  arg_word: {(false)}
                                                )
                                              spids: [51461 51465]
                                            )
                                          }
                                        )
                                        (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: [51481]
                                                )
                                              ]
                                              spids: [51481]
                                            )
                                            (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: [51497]
                                                )
                                              ]
                                              spids: [51497]
                                            )
                                            (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_Tilde '~')
                                                        }
                                                      spids: [51515]
                                                    )
                                                  ]
                                                  spids: [51515]
                                                )
                                              ]
                                            )
                                            (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_Tilde '~') 
                                                        (EscapedLiteralPart
                                                          token: <Lit_EscapedChar '\\$'>
                                                        ) (RM)
                                                      } {($ VSub_Name '$last_robj') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)}
                                                    )
                                                  ]
                                                  spids: [16777215 51541]
                                                )
                                              ]
                                              spids: [16777215 51558]
                                            )
                                          ]
                                          spids: [51469]
                                        )
                                      ]
                                    )
                                    (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: [51589]
                                            )
                                          ]
                                          spids: [51589]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {(SQ <'~'>)}
                                          spids: [51593]
                                        )
                                      ]
                                      spids: [51593]
                                    )
                                    (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: [51611]
                                                )
                                              ]
                                              spids: [51611]
                                            )
                                            (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: [51619]
                                                )
                                              ]
                                            )
                                            (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: [51655]
                                                        )
                                                      ]
                                                      spids: [51655]
                                                    )
                                                    (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: [51680 51718]
                                                            )
                                                          ]
                                                          spids: [16777215 51677]
                                                        )
                                                      ]
                                                      spids: [16777215 51721]
                                                    )
                                                    (ControlFlow
                                                      token: <ControlFlow_Exit exit>
                                                      arg_word: {($ VSub_Name '$lt_exit')}
                                                    )
                                                  ]
                                                  spids: [51652]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [51608 51733]
                                        )
                                      spids: [51604 51606]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {($ VSub_Name '$save_ifs')}
                                          spids: [51736]
                                        )
                                      ]
                                      spids: [51736]
                                    )
                                    (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: [51753 51757]
                                                        )
                                                      }
                                                    )
                                                  ]
                                                )
                                              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 51760]
                                        )
                                      ]
                                      spids: [16777215 51777]
                                    )
                                  ]
                                  spids: [51081 51780]
                                )
                                (AndOr
                                  ops: [Op_DAmp]
                                  children: [
                                    (C 
                                      {
                                        (BracedVarSub
                                          token: <VSub_Name skipped_export>
                                          suffix_op: 
                                            (StringUnary
                                              op_id: VTest_Hyphen
                                              arg_word: {(false)}
                                            )
                                          spids: [51784 51788]
                                        )
                                      }
                                    )
                                    (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: [51819]
                                                    )
                                                  ]
                                                  spids: [51819]
                                                )
                                                (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: [51833]
                                                        )
                                                      ]
                                                      spids: [51833]
                                                    )
                                                  ]
                                                )
                                                (AndOr
                                                  ops: [Op_DPipe]
                                                  children: [
                                                    (C {($ VSub_Name '$opt_dry_run')})
                                                    (C {(eval)} 
                                                      {
                                                        (SQ 
                                                          <
'$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
                                                          >
                                                        )
                                                      }
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [16777215 51816]
                                            )
                                          ]
                                          spids: [16777215 51848]
                                        )
                                        (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_id: Redir_Less
                                                          fd: 16777215
                                                          arg_word: {($ VSub_Name '$export_symbols')}
                                                          spids: [51911]
                                                        )
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: 16777215
                                                          arg_word: 
                                                            {($ VSub_Name '$output_objdir') (/) 
                                                              ($ VSub_Name '$libname') (.filter)
                                                            }
                                                          spids: [51915]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                )
                                                (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: [51938]
                                                    )
                                                  ]
                                                  spids: [51938]
                                                )
                                                (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_id: Redir_Less
                                                          fd: 16777215
                                                          arg_word: 
                                                            {($ VSub_Name '$orig_export_symbols')}
                                                          spids: [51958]
                                                        )
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: 16777215
                                                          arg_word: {($ VSub_Name '$export_symbols')}
                                                          spids: [51962]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [16777215 51863]
                                            )
                                          ]
                                          spids: [16777215 51967]
                                        )
                                      ]
                                      spids: [51792]
                                    )
                                  ]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:libobjs)
                                      op: Equal
                                      rhs: {($ VSub_Name '$output')}
                                      spids: [51974]
                                    )
                                  ]
                                  spids: [51974]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:output)
                                      op: Equal
                                      rhs: {($ VSub_Name '$save_output')}
                                      spids: [51982]
                                    )
                                  ]
                                  spids: [51982]
                                )
                                (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: [52037]
                                                )
                                              ]
                                              spids: [52037]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [16777215 52008]
                                    )
                                  ]
                                  spids: [16777215 52040]
                                )
                                (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: [52106]
                                                    )
                                                  ]
                                                  spids: [52106]
                                                )
                                              ]
                                              spids: [16777215 52103]
                                            )
                                          ]
                                          else_action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:cmds)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$module_cmds')}
                                                  spids: [52113]
                                                )
                                              ]
                                              spids: [52113]
                                            )
                                          ]
                                          spids: [52110 52117]
                                        )
                                      ]
                                      spids: [16777215 52079]
                                    )
                                  ]
                                  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: [52147]
                                                )
                                              ]
                                              spids: [52147]
                                            )
                                          ]
                                          spids: [16777215 52144]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:cmds)
                                              op: Equal
                                              rhs: {($ VSub_Name '$archive_cmds')}
                                              spids: [52154]
                                            )
                                          ]
                                          spids: [52154]
                                        )
                                      ]
                                      spids: [52151 52158]
                                    )
                                  ]
                                  spids: [52120 52161]
                                )
                              ]
                              spids: [50676 52164]
                            )
                            (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_Tilde '~') 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\$'>
                                        ) (RM)
                                      } {($ VSub_Name '$delfiles') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)}
                                    )
                                  ]
                                  spids: [16777215 52179]
                                )
                              ]
                              spids: [16777215 52200]
                            )
                            (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: [52222]
                                        )
                                      ]
                                      spids: [52222]
                                    )
                                    (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: [52274]
                                            )
                                          ]
                                          spids: [52274]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [16777215 52219]
                                )
                              ]
                              spids: [16777215 52277]
                            )
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:save_ifs)
                                      op: Equal
                                      rhs: {($ VSub_Name '$IFS')}
                                      spids: [52281]
                                    )
                                  ]
                                  spids: [52281]
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(SQ <'~'>)}
                                  spids: [52285]
                                )
                              ]
                              spids: [52285]
                            )
                            (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: [52303]
                                        )
                                      ]
                                      spids: [52303]
                                    )
                                    (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: [52316]
                                        )
                                      ]
                                      spids: [52316]
                                    )
                                    (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: [52324]
                                        )
                                      ]
                                    )
                                    (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: [52360]
                                                )
                                              ]
                                              spids: [52360]
                                            )
                                            (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: [52385 52423]
                                                    )
                                                  ]
                                                  spids: [16777215 52382]
                                                )
                                              ]
                                              spids: [16777215 52426]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Exit exit>
                                              arg_word: {($ VSub_Name '$lt_exit')}
                                            )
                                          ]
                                          spids: [52357]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [52300 52438]
                                )
                              spids: [52296 52298]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {($ VSub_Name '$save_ifs')}
                                  spids: [52441]
                                )
                              ]
                              spids: [52441]
                            )
                            (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 52509]
                                                )
                                              ]
                                              spids: [16777215 52519]
                                            )
                                          ]
                                          spids: [16777215 52495]
                                        )
                                      ]
                                      spids: [16777215 52522]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Exit exit>
                                      arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
                                    )
                                  ]
                                  spids: [16777215 52463]
                                )
                              ]
                              spids: [16777215 52531]
                            )
                            (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 52567]
                                        )
                                      ]
                                      spids: [16777215 52581]
                                    )
                                  ]
                                  spids: [52548 52584]
                                )
                              spids: [52544 52546]
                            )
                            (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: [52624]
                                        )
                                      ]
                                      spids: [52624]
                                    )
                                  ]
                                  spids: [16777215 52617]
                                )
                              ]
                              spids: [16777215 52628]
                            )
                          ]
                          spids: [16777215 48641]
                        )
                      ]
                      spids: [16777215 52631]
                    )
                  ]
                  spids: [43013 43014 52634 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 52667]
                        )
                      ]
                      spids: [16777215 52677]
                    )
                    (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: [52691 52702 52711 16777215]
                        )
                      ]
                      spids: [52681 52688 52714]
                    )
                    (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: [52833]
                                )
                              ]
                              spids: [52833]
                            )
                            (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: [52844]
                                )
                              ]
                              spids: [52844]
                            )
                          ]
                          spids: [52805 52807 52848 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libobj)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [52855]
                                )
                              ]
                              spids: [52855]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:obj)
                                  op: Equal
                                  rhs: {($ VSub_Name '$output')}
                                  spids: [52858]
                                )
                              ]
                              spids: [52858]
                            )
                          ]
                          spids: [52851 52852 52862 16777215]
                        )
                      ]
                      spids: [52798 52802 52865]
                    )
                    (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: [52901]
                        )
                      ]
                      spids: [52901]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:gentop)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [52904]
                        )
                      ]
                      spids: [52904]
                    )
                    (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: [52936]
                                )
                              ]
                              spids: [52936]
                            )
                          ]
                          spids: [52926 52934 52938 16777215]
                        )
                      ]
                      spids: [52919 52923 52941]
                    )
                    (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: [52991 53005]
                                                  )
                                                }
                                              spids: [52990]
                                            )
                                          ]
                                          spids: [52990]
                                        )
                                      ]
                                    )
                                    (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: [53008]
                                        )
                                      ]
                                      spids: [53008]
                                    )
                                  ]
                                  spids: [16777215 52969]
                                )
                              ]
                              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: [53017]
                                    )
                                  ]
                                  spids: [53017]
                                )
                                (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: [53044]
                                    )
                                  ]
                                  spids: [53044]
                                )
                              ]
                              spids: [53014 53052]
                            )
                          ]
                          spids: [16777215 52955]
                        )
                      ]
                      spids: [16777215 53055]
                    )
                    (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: [53075]
                            )
                          ]
                          spids: [53075]
                        )
                      ]
                    )
                    (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: [53090 53122]
                              ) (SQ <' '>) ($ VSub_Name '$reload_conv_objs')
                            }
                          spids: [53084]
                        )
                      ]
                      spids: [53084]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:output)
                          op: Equal
                          rhs: {($ VSub_Name '$obj')}
                          spids: [53130]
                        )
                      ]
                      spids: [53130]
                    )
                    (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 53175]
                                )
                              ]
                              spids: [16777215 53185]
                            )
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
                            )
                          ]
                          spids: [16777215 53161]
                        )
                      ]
                      spids: [16777215 53194]
                    )
                    (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 53224]
                                )
                              ]
                              spids: [16777215 53234]
                            )
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
                            )
                          ]
                          spids: [53210]
                        )
                      ]
                    )
                    (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: [53294]
                                )
                              ]
                              spids: [53294]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:output)
                                  op: Equal
                                  rhs: {($ VSub_Name '$libobj')}
                                  spids: [53302]
                                )
                              ]
                              spids: [53302]
                            )
                            (C {(func_execute_cmds)} {(DQ ($ VSub_Name '$reload_cmds'))} 
                              {(SQ <'exit $?'>)}
                            )
                          ]
                          spids: [16777215 53287]
                        )
                      ]
                      spids: [16777215 53317]
                    )
                    (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 53332]
                        )
                      ]
                      spids: [16777215 53342]
                    )
                    (ControlFlow
                      token: <ControlFlow_Exit exit>
                      arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
                    )
                  ]
                  spids: [52638 52639 53351 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: [53385]
                                )
                              ]
                              spids: [53385]
                            )
                          ]
                          spids: [53366 53369 53388 16777215]
                        )
                      ]
                      spids: [53359 53363 53391]
                    )
                    (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: [53500 53515]
                                      )
                                    }
                                  spids: [53499]
                                )
                              ]
                              spids: [53499]
                            )
                            (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: [53519 53534]
                                      )
                                    }
                                  spids: [53518]
                                )
                              ]
                              spids: [53518]
                            )
                          ]
                          spids: [53477 53492 53537 16777215]
                        )
                      ]
                      spids: [53470 53474 53540]
                    )
                    (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: [53585 53589]
                                          )
                                        }
                                      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: [53594 53598 53623 16777215]
                                        )
                                      ]
                                      spids: [53583 53591 53626]
                                    )
                                  ]
                                  spids: [16777215 53580]
                                )
                              ]
                              spids: [16777215 53629]
                            )
                            (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: [53637 53652]
                                      )
                                    }
                                  spids: [53636]
                                )
                              ]
                              spids: [53636]
                            )
                            (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: [53656 53671]
                                      )
                                    }
                                  spids: [53655]
                                )
                              ]
                              spids: [53655]
                            )
                          ]
                          spids: [53551 53556 53674 16777215]
                        )
                      ]
                      spids: [53544 53548 53677]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:new_libs)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [53690]
                        )
                      ]
                      spids: [53690]
                    )
                    (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: [53716 53725 53727 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: [53745 53754 53768 16777215]
                                        )
                                      ]
                                      spids: [53734 53742 53771]
                                    )
                                  ]
                                  spids: [53730 53731 53774 16777215]
                                )
                              ]
                              spids: [53705 53713 53777]
                            )
                          ]
                          spids: [53702 53780]
                        )
                      spids: [53698 53700]
                    )
                    (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: [53818 53825 53827 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_append)} {(new_libs)} 
                                              {(DQ (' ') ($ VSub_Name '$deplib'))}
                                            )
                                          ]
                                          spids: [53830 53831 53842 16777215]
                                        )
                                      ]
                                      spids: [53807 53815 53845]
                                    )
                                  ]
                                  spids: [53802 53804 53848 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(func_append)} {(new_libs)} {(DQ (' ') ($ VSub_Name '$deplib'))})
                                  ]
                                  spids: [53851 53852 53863 16777215]
                                )
                              ]
                              spids: [53795 53799 53866]
                            )
                          ]
                          spids: [53792 53869]
                        )
                      spids: [53788 53790]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:compile_deplibs)
                          op: Equal
                          rhs: {($ VSub_Name '$new_libs')}
                          spids: [53872]
                        )
                      ]
                      spids: [53872]
                    )
                    (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: [53946 53953 53955 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_append)} {(finalize_rpath)} 
                                              {(DQ (' ') ($ VSub_Name '$libdir'))}
                                            )
                                          ]
                                          spids: [53958 53959 53970 16777215]
                                        )
                                      ]
                                      spids: [53936 53943 53973]
                                    )
                                  ]
                                  spids: [53929 53976]
                                )
                              spids: [53923 53927]
                            )
                          ]
                          spids: [16777215 53911]
                        )
                      ]
                      spids: [16777215 53979]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rpath)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [53987]
                        )
                      ]
                      spids: [53987]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:hardcode_libdirs)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [53990]
                        )
                      ]
                      spids: [53990]
                    )
                    (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: [54049]
                                                        )
                                                      ]
                                                      spids: [54049]
                                                    )
                                                  ]
                                                  spids: [16777215 54046]
                                                )
                                              ]
                                              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: [54069 54076 54079 16777215]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other '*')}]
                                                      action: [
                                                        (C {(func_append)} {(hardcode_libdirs)} 
                                                          {
                                                            (DQ 
                                                              ($ VSub_Name 
'$hardcode_libdir_separator'
                                                              ) ($ VSub_Name '$libdir')
                                                            )
                                                          }
                                                        )
                                                      ]
                                                      spids: [54082 54083 54096 16777215]
                                                    )
                                                  ]
                                                  spids: [54060 54066 54099]
                                                )
                                              ]
                                              spids: [54053 54102]
                                            )
                                          ]
                                          spids: [16777215 54032]
                                        )
                                      ]
                                      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: [54105 54126]
                                    )
                                  ]
                                  spids: [16777215 54018]
                                )
                                (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: [54153 54160 54162 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_append)} {(perm_rpath)} 
                                              {(DQ (' ') ($ VSub_Name '$libdir'))}
                                            )
                                          ]
                                          spids: [54165 54166 54177 16777215]
                                        )
                                      ]
                                      spids: [54143 54150 54180]
                                    )
                                  ]
                                  spids: [54129 54140]
                                )
                              ]
                              spids: [16777215 54183]
                            )
                            (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: [54232 54248]
                                              )
                                            }
                                          spids: [54231]
                                        )
                                      ]
                                      spids: [54231]
                                    )
                                    (Case
                                      to_match: 
                                        {(Lit_Other ':') ($ VSub_Name '$dllsearchpath') 
                                          (Lit_Other ':')
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (DQ (':') ($ VSub_Name '$libdir') (':')) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [54260 54267 54269 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: [54276]
                                                )
                                              ]
                                              spids: [54276]
                                            )
                                          ]
                                          spids: [54272 54274 54278 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_append)} {(dllsearchpath)} 
                                              {(DQ (':') ($ VSub_Name '$libdir'))}
                                            )
                                          ]
                                          spids: [54281 54282 54292 16777215]
                                        )
                                      ]
                                      spids: [54251 54257 54295]
                                    )
                                    (Case
                                      to_match: 
                                        {(Lit_Other ':') ($ VSub_Name '$dllsearchpath') 
                                          (Lit_Other ':')
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') 
                                              (DQ (':') ($ VSub_Name '$testbindir') (':')) (Lit_Other '*')
                                            }
                                          ]
                                          spids: [54307 54314 54316 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: [54323]
                                                )
                                              ]
                                              spids: [54323]
                                            )
                                          ]
                                          spids: [54319 54321 54325 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_append)} {(dllsearchpath)} 
                                              {(DQ (':') ($ VSub_Name '$testbindir'))}
                                            )
                                          ]
                                          spids: [54328 54329 54339 16777215]
                                        )
                                      ]
                                      spids: [54298 54304 54342]
                                    )
                                  ]
                                  spids: [54193 54228 54345 16777215]
                                )
                              ]
                              spids: [54186 54190 54348]
                            )
                          ]
                          spids: [54004 54351]
                        )
                      spids: [53998 54002]
                    )
                    (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: [54383]
                                )
                              ]
                              spids: [54383]
                            )
                            (C {(eval)} 
                              {(Lit_VarLike 'rpath=') 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar '\\"'>
                                )
                              } {($ VSub_Name '$hardcode_libdir_flag_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)}
                            )
                          ]
                          spids: [16777215 54380]
                        )
                      ]
                      spids: [16777215 54396]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:compile_rpath)
                          op: Equal
                          rhs: {($ VSub_Name '$rpath')}
                          spids: [54399]
                        )
                      ]
                      spids: [54399]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rpath)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [54404]
                        )
                      ]
                      spids: [54404]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:hardcode_libdirs)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [54407]
                        )
                      ]
                      spids: [54407]
                    )
                    (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: [54464]
                                                        )
                                                      ]
                                                      spids: [54464]
                                                    )
                                                  ]
                                                  spids: [16777215 54461]
                                                )
                                              ]
                                              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: [54484 54491 54494 16777215]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other '*')}]
                                                      action: [
                                                        (C {(func_append)} {(hardcode_libdirs)} 
                                                          {
                                                            (DQ 
                                                              ($ VSub_Name 
'$hardcode_libdir_separator'
                                                              ) ($ VSub_Name '$libdir')
                                                            )
                                                          }
                                                        )
                                                      ]
                                                      spids: [54497 54498 54511 16777215]
                                                    )
                                                  ]
                                                  spids: [54475 54481 54514]
                                                )
                                              ]
                                              spids: [54468 54517]
                                            )
                                          ]
                                          spids: [16777215 54447]
                                        )
                                      ]
                                      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: [54520 54541]
                                    )
                                  ]
                                  spids: [16777215 54433]
                                )
                                (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: [54568 54575 54577 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_append)} {(finalize_perm_rpath)} 
                                              {(DQ (' ') ($ VSub_Name '$libdir'))}
                                            )
                                          ]
                                          spids: [54580 54581 54592 16777215]
                                        )
                                      ]
                                      spids: [54558 54565 54595]
                                    )
                                  ]
                                  spids: [54544 54555]
                                )
                              ]
                              spids: [16777215 54598]
                            )
                          ]
                          spids: [54419 54601]
                        )
                      spids: [54415 54417]
                    )
                    (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: [54633]
                                )
                              ]
                              spids: [54633]
                            )
                            (C {(eval)} 
                              {(Lit_VarLike 'rpath=') 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar '\\"'>
                                )
                              } {($ VSub_Name '$hardcode_libdir_flag_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)}
                            )
                          ]
                          spids: [16777215 54630]
                        )
                      ]
                      spids: [16777215 54646]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:finalize_rpath)
                          op: Equal
                          rhs: {($ VSub_Name '$rpath')}
                          spids: [54649]
                        )
                      ]
                      spids: [54649]
                    )
                    (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: [54685 54707]
                                      )
                                    }
                                  spids: [54684]
                                )
                              ]
                              spids: [54684]
                            )
                            (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: [54711 54733]
                                      )
                                    }
                                  spids: [54710]
                                )
                              ]
                              spids: [54710]
                            )
                          ]
                          spids: [16777215 54677]
                        )
                      ]
                      spids: [16777215 54736]
                    )
                    (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 54769]
                        )
                      ]
                      spids: [16777215 54783]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:wrappers_required)
                          op: Equal
                          rhs: {(Lit_Other ':')}
                          spids: [54787]
                        )
                      ]
                      spids: [54787]
                    )
                    (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: [54814]
                                )
                              ]
                              spids: [54814]
                            )
                          ]
                          spids: [54798 54807 54818 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: [54846]
                                    )
                                  ]
                                  spids: [54846]
                                )
                              ]
                            )
                          ]
                          spids: [54821 54831 54850 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: [54886]
                                        )
                                      ]
                                      spids: [54886]
                                    )
                                  ]
                                  spids: [16777215 54883]
                                )
                              ]
                              spids: [16777215 54890]
                            )
                          ]
                          spids: [54853 54854 54893 16777215]
                        )
                      ]
                      spids: [54791 54795 54896]
                    )
                    (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: [54911 54931]
                                      )
                                    }
                                  spids: [54910]
                                )
                              ]
                              spids: [54910]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:link_command)
                                  op: Equal
                                  rhs: 
                                    {($ VSub_Name '$compile_command') ($ VSub_Name '$compile_rpath')}
                                  spids: [54934]
                                )
                              ]
                              spids: [54934]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:exit_status)
                                  op: Equal
                                  rhs: {(0)}
                                  spids: [54944]
                                )
                              ]
                              spids: [54944]
                            )
                            (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: [54982 55016]
                                              )
                                            }
                                          spids: [54981]
                                        )
                                      ]
                                      spids: [54981]
                                    )
                                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name '$postlink_cmds'))} 
                                      {(SQ <'exit $?'>)}
                                    )
                                  ]
                                  spids: [16777215 54971]
                                )
                              ]
                              spids: [16777215 55030]
                            )
                            (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 55055]
                                )
                              ]
                              spids: [16777215 55065]
                            )
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {($ VSub_Name '$exit_status')}
                            )
                          ]
                          spids: [54903]
                        )
                      ]
                    )
                    (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: [55093]
                                )
                              ]
                              spids: [55093]
                            )
                          ]
                          spids: [16777215 55090]
                        )
                      ]
                      spids: [16777215 55108]
                    )
                    (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: [55125]
                                )
                              ]
                              spids: [55125]
                            )
                          ]
                          spids: [16777215 55122]
                        )
                      ]
                      spids: [16777215 55139]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:compile_var)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [55143]
                        )
                      ]
                      spids: [55143]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:finalize_var)
                          op: Equal
                          rhs: {(EmptyPart)}
                          spids: [55146]
                        )
                      ]
                      spids: [55146]
                    )
                    (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: [55181]
                                        )
                                      ]
                                      spids: [55181]
                                    )
                                    (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: [55193 55206]
                                        )
                                      spids: [55189 55191]
                                    )
                                    (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: [55209]
                                        )
                                      ]
                                      spids: [55209]
                                    )
                                  ]
                                  spids: [16777215 55174]
                                )
                              ]
                              spids: [16777215 55222]
                            )
                            (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: [55243]
                                        )
                                      ]
                                      spids: [55243]
                                    )
                                    (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: [55255 55268]
                                        )
                                      spids: [55251 55253]
                                    )
                                    (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: [55271]
                                        )
                                      ]
                                      spids: [55271]
                                    )
                                  ]
                                  spids: [16777215 55236]
                                )
                              ]
                              spids: [16777215 55284]
                            )
                          ]
                          spids: [16777215 55160]
                        )
                      ]
                      spids: [16777215 55287]
                    )
                    (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: [55311]
                                )
                              ]
                              spids: [55311]
                            )
                            (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: [55322 55342]
                                      )
                                    }
                                  spids: [55321]
                                )
                              ]
                              spids: [55321]
                            )
                            (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: [55396 55430]
                                              )
                                            }
                                          spids: [55395]
                                        )
                                      ]
                                      spids: [55395]
                                    )
                                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name '$postlink_cmds'))} 
                                      {(SQ <'exit $?'>)}
                                    )
                                  ]
                                  spids: [16777215 55385]
                                )
                              ]
                              spids: [16777215 55444]
                            )
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
                            )
                          ]
                          spids: [16777215 55304]
                        )
                      ]
                      spids: [16777215 55453]
                    )
                    (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: [55476]
                                )
                              ]
                              spids: [55476]
                            )
                            (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: [55482]
                                )
                              ]
                              spids: [55482]
                            )
                            (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: [55466 55469 55505 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: [55514]
                                )
                              ]
                              spids: [55514]
                            )
                            (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: [55521 55537]
                                      )
                                    }
                                  spids: [55520]
                                )
                              ]
                              spids: [55520]
                            )
                          ]
                          spids: [55508 55511 55540 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: [55549]
                                )
                              ]
                              spids: [55549]
                            )
                            (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: [55555]
                                )
                              ]
                              spids: [55555]
                            )
                          ]
                          spids: [55543 55546 55561 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: [55570]
                                )
                              ]
                              spids: [55570]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:relink_command)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [55576]
                                )
                              ]
                              spids: [55576]
                            )
                          ]
                          spids: [55564 55567 55579 16777215]
                        )
                      ]
                      spids: [55457 55463 55582]
                    )
                    (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: [55591 55613]
                              )
                            }
                          spids: [55590]
                        )
                      ]
                      spids: [55590]
                    )
                    (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: [55675 55711]
                                      )
                                    }
                                  spids: [55674]
                                )
                              ]
                              spids: [55674]
                            )
                            (C {(func_execute_cmds)} {(DQ ($ VSub_Name '$postlink_cmds'))} 
                              {(SQ <'exit $?'>)}
                            )
                          ]
                          spids: [16777215 55662]
                        )
                      ]
                      spids: [16777215 55725]
                    )
                    (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: [55797]
                                                )
                                              ]
                                              spids: [55797]
                                            )
                                          ]
                                          spids: [16777215 55794]
                                        )
                                        (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: [55840]
                                                )
                                              ]
                                              spids: [55840]
                                            )
                                          ]
                                          spids: [55819 55837]
                                        )
                                      ]
                                      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: [55860]
                                            )
                                          ]
                                          spids: [55860]
                                        )
                                      ]
                                      spids: [55850 55872]
                                    )
                                  ]
                                  spids: [55773 55875]
                                )
                              spids: [55769 55771]
                            )
                            (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: [55881 55883]
                                        ) ('; ') ($ VSub_Name '$relink_command') (')')
                                      )
                                    }
                                  spids: [55878]
                                )
                              ]
                              spids: [55878]
                            )
                            (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: [55891 55905]
                                      )
                                    }
                                  spids: [55890]
                                )
                              ]
                              spids: [55890]
                            )
                          ]
                          spids: [16777215 55757]
                        )
                      ]
                      spids: [16777215 55908]
                    )
                    (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: [55956]
                                        )
                                      ]
                                      spids: [55956]
                                    )
                                  ]
                                  spids: [55938 55940 55959 16777215]
                                )
                              ]
                              spids: [55931 55935 55962]
                            )
                            (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: [55982]
                                        )
                                      ]
                                      spids: [55982]
                                    )
                                    (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: [56000]
                                        )
                                      ]
                                      spids: [56000]
                                    )
                                  ]
                                  spids: [55976 55979 56003 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:exeext)
                                          op: Equal
                                          rhs: {(EmptyPart)}
                                          spids: [56009]
                                        )
                                      ]
                                      spids: [56009]
                                    )
                                  ]
                                  spids: [56006 56007 56011 16777215]
                                )
                              ]
                              spids: [55969 55973 56014]
                            )
                            (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: [56051]
                                        )
                                      ]
                                      spids: [56051]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:output_path)
                                          op: Equal
                                          rhs: {($ VSub_Name '$func_dirname_result')}
                                          spids: [56055]
                                        )
                                      ]
                                      spids: [56055]
                                    )
                                    (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: [56059]
                                        )
                                      ]
                                      spids: [56059]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:cwrapper)
                                          op: Equal
                                          rhs: 
                                            {($ VSub_Name '$output_path') (/) 
                                              ($ VSub_Name '$output_name') (.exe)
                                            }
                                          spids: [56068]
                                        )
                                      ]
                                      spids: [56068]
                                    )
                                    (C {($ VSub_Name '$RM')} {($ VSub_Name '$cwrappersource')} 
                                      {($ VSub_Name '$cwrapper')}
                                    )
                                    (C {(trap)} 
                                      {
                                        (DQ ($ VSub_Name '$RM') (' ') ($ VSub_Name '$cwrappersource') 
                                          (' ') ($ VSub_Name '$cwrapper') ('; exit ') ($ VSub_Name '$EXIT_FAILURE')
                                        )
                                      } {(1)} {(2)} {(15)}
                                    )
                                    (SimpleCommand
                                      words: [{(func_emit_cwrapperexe_src)}]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_Great
                                          fd: 16777215
                                          arg_word: {($ VSub_Name '$cwrappersource')}
                                          spids: [56104]
                                        )
                                      ]
                                    )
                                    (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: [56130]
                                        )
                                      ]
                                    )
                                    (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_id: Redir_Great
                                                          fd: 16777215
                                                          arg_word: 
                                                            {
                                                              ($ VSub_Name 
'$func_ltwrapper_scriptname_result'
                                                              )
                                                            }
                                                          spids: [56219]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  spids: [16777215 56212]
                                                )
                                              ]
                                              else_action: [
                                                (SimpleCommand
                                                  words: [{(func_emit_wrapper)} {(no)}]
                                                  redirects: [
                                                    (Redir
                                                      op_id: Redir_Great
                                                      fd: 16777215
                                                      arg_word: 
                                                        {
                                                          ($ VSub_Name 
'$func_ltwrapper_scriptname_result'
                                                          )
                                                        }
                                                      spids: [56231]
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [56224 56236]
                                            )
                                          ]
                                          spids: [56188]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [56024 56034 56242 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_id: Redir_Great
                                          fd: 16777215
                                          arg_word: {($ VSub_Name '$output')}
                                          spids: [56277]
                                        )
                                      ]
                                    )
                                    (C {(chmod)} {(Lit_Other '+') (x)} {($ VSub_Name '$output')})
                                  ]
                                  spids: [56245 56247 56290 16777215]
                                )
                              ]
                              spids: [56017 56021 56293]
                            )
                          ]
                          spids: [55920]
                        )
                      ]
                    )
                    (ControlFlow
                      token: <ControlFlow_Exit exit>
                      arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
                    )
                  ]
                  spids: [53355 53356 56304 16777215]
                )
              ]
              spids: [42800 42804 56307]
            )
            (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: [56339]
                                )
                              ]
                              spids: [56339]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:addlibs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$convenience')}
                                  spids: [56347]
                                )
                              ]
                              spids: [56347]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_libtool_libs)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [56351]
                                )
                              ]
                              spids: [56351]
                            )
                          ]
                          spids: [56335 56336 56355 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: [56362]
                                )
                              ]
                              spids: [56362]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:addlibs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$old_convenience')}
                                  spids: [56366]
                                )
                              ]
                              spids: [56366]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_libtool_libs)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [56370]
                                )
                              ]
                              spids: [56370]
                            )
                          ]
                          spids: [56358 56359 56374 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: [56381]
                                )
                              ]
                              spids: [56381]
                            )
                            (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: [56415]
                                )
                              ]
                              spids: [56415]
                            )
                          ]
                          spids: [56377 56378 56419 16777215]
                        )
                      ]
                      spids: [56328 56332 56422]
                    )
                    (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: [56440]
                                )
                              ]
                              spids: [56440]
                            )
                            (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 56437]
                        )
                      ]
                      spids: [16777215 56477]
                    )
                    (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: [56511]
                                )
                              ]
                              spids: [56511]
                            )
                          ]
                          spids: [16777215 56508]
                        )
                      ]
                      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: [56537]
                                    )
                                  ]
                                  spids: [56537]
                                )
                                (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 56534]
                            )
                          ]
                          spids: [16777215 56574]
                        )
                        (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: [56614 56631]
                                                )
                                              spids: [56610 16777215]
                                            )
                                            (C {(sort)})
                                            (SimpleCommand
                                              words: [{(sort)} {(-uc)}]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_Great
                                                  fd: 16777215
                                                  arg_word: {(/dev/null)}
                                                  spids: [56643]
                                                )
                                                (Redir
                                                  op_id: Redir_GreatAnd
                                                  fd: 2
                                                  arg_word: {(1)}
                                                  spids: [56646]
                                                )
                                              ]
                                            )
                                          ]
                                          negated: F
                                        )
                                      spids: [56604 56648]
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [(C {(Lit_Other ':')})]
                              spids: [16777215 56651]
                            )
                          ]
                          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: [56667]
                                )
                              ]
                              spids: [56667]
                            )
                            (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: [56693]
                                )
                              ]
                              spids: [56693]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldobjs)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [56697]
                                )
                              ]
                              spids: [56697]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:counter)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [56700]
                                )
                              ]
                              spids: [56700]
                            )
                            (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: [56723]
                                        )
                                      ]
                                      spids: [56723]
                                    )
                                    (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: [56743]
                                                )
                                              ]
                                              spids: [56743]
                                            )
                                          ]
                                          spids: [56739 56741 56746 16777215]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (Lit_Other '[') 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar '\\ '>
                                              ) (/) (Lit_Other ']') (DQ ($ VSub_Name '$objbase') (' ')) (Lit_Other '*')
                                            }
                                          ]
                                          action: [
                                            (While
                                              cond: [
                                                (Sentence
                                                  child: (C {(Lit_Other ':')})
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:newobj)
                                                          op: Equal
                                                          rhs: 
                                                            {(lt) ($ VSub_Name '$counter') (-) 
                                                              ($ VSub_Name '$objbase')
                                                            }
                                                          spids: [56778]
                                                        )
                                                      ]
                                                      spids: [56778]
                                                    )
                                                    (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: [56794]
                                                        )
                                                      ]
                                                      spids: [56794]
                                                    )
                                                    (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: [56809 56819 56821 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 56842]
                                                                )
                                                              ]
                                                              spids: [16777215 56847]
                                                            )
                                                          ]
                                                          spids: [56824 56825 56849 16777215]
                                                        )
                                                      ]
                                                      spids: [56798 56806 56852]
                                                    )
                                                  ]
                                                  spids: [56767 56855]
                                                )
                                            )
                                            (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: [56749 56759 56888 16777215]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_append)} {(oldobjs)} 
                                              {(DQ (' ') ($ VSub_Name '$obj'))}
                                            )
                                          ]
                                          spids: [56891 56892 56903 16777215]
                                        )
                                      ]
                                      spids: [56727 56735 56906]
                                    )
                                  ]
                                  spids: [56713 56909]
                                )
                              spids: [56709 16777215]
                            )
                          ]
                          spids: [56657 56912]
                        )
                        (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: [56924]
                            )
                          ]
                          spids: [56924]
                        )
                        (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: [56945]
                            )
                          ]
                          spids: [56945]
                        )
                        (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: [56979]
                                    )
                                  ]
                                  spids: [56979]
                                )
                              ]
                              spids: [16777215 56976]
                            )
                            (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: [57013 57030]
                                    )
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: 16777215
                                      arg_word: 
                                        {($ VSub_Name '$output_objdir') (/) ($ VSub_Name '$libname') 
                                          (.libcmd)
                                        }
                                      spids: [57032]
                                    )
                                  ]
                                  spids: [57009 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: [57050]
                                    )
                                  ]
                                  spids: [57050]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:cmds)
                                      op: Equal
                                      rhs: {($ VSub_Name '$old_archive_cmds')}
                                      spids: [57058]
                                    )
                                  ]
                                  spids: [57058]
                                )
                              ]
                              spids: [56983 56994]
                            )
                          ]
                          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: [57076]
                                )
                              ]
                              spids: [57076]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:RANLIB)
                                  op: Equal
                                  rhs: {(Lit_Other ':')}
                                  spids: [57080]
                                )
                              ]
                              spids: [57080]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:objlist)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [57084]
                                )
                              ]
                              spids: [57084]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:concat_cmds)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [57087]
                                )
                              ]
                              spids: [57087]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:save_oldobjs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$oldobjs')}
                                  spids: [57090]
                                )
                              ]
                              spids: [57090]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldobjs)
                                  op: Equal
                                  rhs: {(EmptyPart)}
                                  spids: [57094]
                                )
                              ]
                              spids: [57094]
                            )
                            (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: [57113]
                                        )
                                      ]
                                      spids: [57113]
                                    )
                                  ]
                                  spids: [57110 57117]
                                )
                              spids: [57106 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: [57136]
                                )
                              ]
                              spids: [57136]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:len)
                                  op: Equal
                                  rhs: {($ VSub_Name '$len0')}
                                  spids: [57140]
                                )
                              ]
                              spids: [57140]
                            )
                            (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: [57173]
                                        )
                                      ]
                                      spids: [57173]
                                    )
                                    (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 57202]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:oldobjs)
                                              op: Equal
                                              rhs: {($ VSub_Name '$objlist')}
                                              spids: [57215]
                                            )
                                          ]
                                          spids: [57215]
                                        )
                                        (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: [57237]
                                                    )
                                                  ]
                                                  spids: [57237]
                                                )
                                              ]
                                              spids: [16777215 57234]
                                            )
                                          ]
                                          spids: [16777215 57241]
                                        )
                                        (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_Tilde '~')}
                                                  spids: [57254]
                                                )
                                              ]
                                              spids: [57254]
                                            )
                                          ]
                                        )
                                        (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: [57269]
                                            )
                                          ]
                                          spids: [57269]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:len)
                                              op: Equal
                                              rhs: {($ VSub_Name '$len0')}
                                              spids: [57272]
                                            )
                                          ]
                                          spids: [57272]
                                        )
                                      ]
                                      spids: [57208 57276]
                                    )
                                  ]
                                  spids: [57153 57279]
                                )
                              spids: [57149 16777215]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:RANLIB)
                                  op: Equal
                                  rhs: {($ VSub_Name '$save_RANLIB')}
                                  spids: [57282]
                                )
                              ]
                              spids: [57282]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldobjs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$objlist')}
                                  spids: [57286]
                                )
                              ]
                              spids: [57286]
                            )
                            (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 57301]
                                )
                              ]
                              else_action: [
                                (C {(eval)} 
                                  {(Lit_VarLike 'cmds=') 
                                    (EscapedLiteralPart
                                      token: <Lit_EscapedChar '\\"'>
                                    ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (concat_cmds) (Lit_Tilde '~') 
                                    (EscapedLiteralPart
                                      token: <Lit_EscapedChar '\\$'>
                                    ) (old_archive_cmds) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                  }
                                )
                              ]
                              spids: [57313 57328]
                            )
                          ]
                          spids: [57062 57331]
                        )
                      ]
                      spids: [56515 57334]
                    )
                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name '$cmds'))} {(SQ <'exit $?'>)})
                  ]
                  spids: [56324 57348]
                )
              spids: [56320 56322]
            )
            (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: [57392]
                        )
                      ]
                      spids: [57392]
                    )
                    (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: [57407]
                            )
                          ]
                          spids: [57407]
                        )
                      ]
                    )
                    (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: [57459]
                                        )
                                      ]
                                      spids: [57459]
                                    )
                                  ]
                                  spids: [16777215 57456]
                                )
                                (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: [57502]
                                        )
                                      ]
                                      spids: [57502]
                                    )
                                  ]
                                  spids: [57481 57499]
                                )
                              ]
                              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: [57522]
                                    )
                                  ]
                                  spids: [57522]
                                )
                              ]
                              spids: [57512 57534]
                            )
                          ]
                          spids: [57435 57537]
                        )
                      spids: [57431 57433]
                    )
                    (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: [57547 57549]
                                ) ('; ') ($ 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: [57544]
                        )
                      ]
                      spids: [57544]
                    )
                    (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: [57565 57579]
                              )
                            }
                          spids: [57564]
                        )
                      ]
                      spids: [57564]
                    )
                    (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: [57598]
                                )
                              ]
                              spids: [57598]
                            )
                          ]
                          spids: [16777215 57595]
                        )
                      ]
                      spids: [16777215 57601]
                    )
                    (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 57657]
                                                )
                                              ]
                                              spids: [16777215 57663]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:output)
                                                  op: Equal
                                                  rhs: 
                                                    {($ VSub_Name '$output_objdir') (/) 
                                                      (${ VSub_Name outputname) (i)
                                                    }
                                                  spids: [57666]
                                                )
                                              ]
                                              spids: [57666]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newdependency_libs)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [57679]
                                                )
                                              ]
                                              spids: [57679]
                                            )
                                            (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: [57713]
                                                                )
                                                              ]
                                                              spids: [57713]
                                                            )
                                                            (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: [57727 57739]
                                                                )
                                                              }
                                                            )
                                                            (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: [57769 57773]
                                                                  ) ($ VSub_Name '$libdir') (/) ($ VSub_Name '$name')
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [57701 57703 57780 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: [57783 57785 57817 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: [57820 57822 57854 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (C {(func_append)} {(newdependency_libs)} 
                                                              {(DQ (' ') ($ VSub_Name '$deplib'))}
                                                            )
                                                          ]
                                                          spids: [57857 57858 57869 16777215]
                                                        )
                                                      ]
                                                      spids: [57694 57698 57872]
                                                    )
                                                  ]
                                                  spids: [57691 57875]
                                                )
                                              spids: [57687 57689]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dependency_libs)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$newdependency_libs')}
                                                  spids: [57878]
                                                )
                                              ]
                                              spids: [57878]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newdlfiles)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [57882]
                                                )
                                              ]
                                              spids: [57882]
                                            )
                                            (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: [57917]
                                                                )
                                                              ]
                                                              spids: [57917]
                                                            )
                                                            (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: [57924 57936]
                                                                )
                                                              }
                                                            )
                                                            (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: [57966 57970]
                                                                  ) ($ VSub_Name '$libdir') (/) ($ VSub_Name '$name')
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [57905 57907 57977 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (C {(func_append)} {(newdlfiles)} 
                                                              {(DQ (' ') ($ VSub_Name '$lib'))}
                                                            )
                                                          ]
                                                          spids: [57980 57981 57992 16777215]
                                                        )
                                                      ]
                                                      spids: [57898 57902 57995]
                                                    )
                                                  ]
                                                  spids: [57895 57998]
                                                )
                                              spids: [57891 57893]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dlfiles)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$newdlfiles')}
                                                  spids: [58001]
                                                )
                                              ]
                                              spids: [58001]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newdlprefiles)
                                                  op: Equal
                                                  rhs: {(EmptyPart)}
                                                  spids: [58005]
                                                )
                                              ]
                                              spids: [58005]
                                            )
                                            (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: [58055]
                                                                )
                                                              ]
                                                              spids: [58055]
                                                            )
                                                            (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: [58062 58074]
                                                                )
                                                              }
                                                            )
                                                            (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: [58104 58108]
                                                                  ) ($ VSub_Name '$libdir') (/) ($ VSub_Name '$name')
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [58027 58029 58115 16777215]
                                                        )
                                                      ]
                                                      spids: [58020 58024 58118]
                                                    )
                                                  ]
                                                  spids: [58017 58121]
                                                )
                                              spids: [58013 58015]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dlprefiles)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$newdlprefiles')}
                                                  spids: [58124]
                                                )
                                              ]
                                              spids: [58124]
                                            )
                                          ]
                                          spids: [16777215 57643]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:newdlfiles)
                                              op: Equal
                                              rhs: {(EmptyPart)}
                                              spids: [58131]
                                            )
                                          ]
                                          spids: [58131]
                                        )
                                        (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: [58172]
                                                            )
                                                          ]
                                                          spids: [58172]
                                                        )
                                                      ]
                                                      spids: [58153 58170 58175 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: [58182 58184]
                                                                  ) (DQ (/) ($ VSub_Name '$lib'))
                                                                }
                                                              spids: [58181]
                                                            )
                                                          ]
                                                          spids: [58181]
                                                        )
                                                      ]
                                                      spids: [58178 58179 58190 16777215]
                                                    )
                                                  ]
                                                  spids: [58146 58150 58193]
                                                )
                                                (C {(func_append)} {(newdlfiles)} 
                                                  {(DQ (' ') ($ VSub_Name '$abs'))}
                                                )
                                              ]
                                              spids: [58143 58206]
                                            )
                                          spids: [58139 58141]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:dlfiles)
                                              op: Equal
                                              rhs: {($ VSub_Name '$newdlfiles')}
                                              spids: [58209]
                                            )
                                          ]
                                          spids: [58209]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:newdlprefiles)
                                              op: Equal
                                              rhs: {(EmptyPart)}
                                              spids: [58213]
                                            )
                                          ]
                                          spids: [58213]
                                        )
                                        (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: [58254]
                                                            )
                                                          ]
                                                          spids: [58254]
                                                        )
                                                      ]
                                                      spids: [58235 58252 58257 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: [58264 58266]
                                                                  ) (DQ (/) ($ VSub_Name '$lib'))
                                                                }
                                                              spids: [58263]
                                                            )
                                                          ]
                                                          spids: [58263]
                                                        )
                                                      ]
                                                      spids: [58260 58261 58272 16777215]
                                                    )
                                                  ]
                                                  spids: [58228 58232 58275]
                                                )
                                                (C {(func_append)} {(newdlprefiles)} 
                                                  {(DQ (' ') ($ VSub_Name '$abs'))}
                                                )
                                              ]
                                              spids: [58225 58288]
                                            )
                                          spids: [58221 58223]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:dlprefiles)
                                              op: Equal
                                              rhs: {($ VSub_Name '$newdlprefiles')}
                                              spids: [58291]
                                            )
                                          ]
                                          spids: [58291]
                                        )
                                      ]
                                      spids: [58128 58295]
                                    )
                                    (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: [58339]
                                        )
                                      ]
                                      spids: [58339]
                                    )
                                    (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: [58435]
                                                        )
                                                      ]
                                                      spids: [58435]
                                                    )
                                                  ]
                                                  spids: [16777215 58421]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:tdlname)
                                                      op: Equal
                                                      rhs: {(../bin/) ($ VSub_Name '$dlname')}
                                                      spids: [58448]
                                                    )
                                                  ]
                                                  spids: [58448]
                                                )
                                              ]
                                              spids: [58441 58453]
                                            )
                                          ]
                                          spids: [58358 58403 58456 16777215]
                                        )
                                      ]
                                      spids: [58343 58355 58459]
                                    )
                                    (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_id: Redir_Great
                                          fd: 16777215
                                          arg_word: {($ VSub_Name '$output')}
                                          spids: [58464]
                                        )
                                      ]
                                    )
                                    (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_id: Redir_DGreat
                                                  fd: 16777215
                                                  arg_word: {($ VSub_Name '$output')}
                                                  spids: [58574]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [16777215 58569]
                                        )
                                      ]
                                      spids: [16777215 58587]
                                    )
                                  ]
                                  spids: [57627 58590]
                                )
                              spids: [57621 57625]
                            )
                          ]
                          spids: [57613]
                        )
                      ]
                    )
                    (C {(func_show_eval)} 
                      {
                        (SQ 
                          <
'( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )'
                          >
                        )
                      } {(SQ <'exit $?'>)}
                    )
                  ]
                  spids: [57387 57389 58616 16777215]
                )
              ]
              spids: [57380 57384 58619]
            )
            (ControlFlow
              token: <ControlFlow_Exit exit>
              arg_word: {($ VSub_Name '$EXIT_SUCCESS')}
            )
          ]
          spids: [27922]
        )
      spids: [27917 27921]
    )
    (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: [58659 58665]
                )
              }
            )
          ]
          spids: [16777215 58654]
        )
      ]
      spids: [16777215 58667]
    )
    (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: [58686]
                )
              ]
              spids: [58686]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:files) op:Equal rhs:{(EmptyPart)} spids:[58690])]
              spids: [58690]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:rmforce) op:Equal rhs:{(false)} spids:[58693])]
              spids: [58693]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:exit_status) op:Equal rhs:{(0)} spids:[58697])]
              spids: [58697]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libtool_install_magic)
                  op: Equal
                  rhs: {($ VSub_Name '$magic')}
                  spids: [58710]
                )
              ]
              spids: [58710]
            )
            (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: [58743]
                                )
                              ]
                              spids: [58743]
                            )
                          ]
                          spids: [58730 58731 58746 16777215]
                        )
                        (case_arm
                          pat_list: [{(-) (Lit_Other '*')}]
                          action: [(C {(func_append)} {(RM)} {(DQ (' ') ($ VSub_Name '$arg'))})]
                          spids: [58749 58751 58762 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [(C {(func_append)} {(files)} {(DQ (' ') ($ VSub_Name '$arg'))})]
                          spids: [58765 58766 58777 16777215]
                        )
                      ]
                      spids: [58723 58727 58780]
                    )
                  ]
                  spids: [58720 58783]
                )
              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: [58807]
                )
              ]
              spids: [58807]
            )
            (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: [58837]
                        )
                      ]
                      spids: [58837]
                    )
                    (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: [58857]
                                )
                              ]
                              spids: [58857]
                            )
                          ]
                          spids: [16777215 58854]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:odir)
                              op: Equal
                              rhs: {($ VSub_Name '$dir') (/) ($ VSub_Name '$objdir')}
                              spids: [58864]
                            )
                          ]
                          spids: [58864]
                        )
                      ]
                      spids: [58861 58870]
                    )
                    (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: [58880]
                        )
                      ]
                      spids: [58880]
                    )
                    (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: [58896]
                            )
                          ]
                          spids: [58896]
                        )
                      ]
                    )
                    (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: [58932 58939 58941 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(func_append)} {(rmdirs)} {(DQ (' ') ($ VSub_Name '$odir'))})
                                  ]
                                  spids: [58944 58945 58956 16777215]
                                )
                              ]
                              spids: [58921 58929 58959]
                            )
                          ]
                          spids: [16777215 58918]
                        )
                      ]
                      spids: [16777215 58962]
                    )
                    (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_id: Redir_Great
                                          fd: 16777215
                                          arg_word: {(/dev/null)}
                                          spids: [58985]
                                        )
                                        (Redir
                                          op_id: Redir_GreatAnd
                                          fd: 2
                                          arg_word: {(1)}
                                          spids: [58988]
                                        )
                                      ]
                                      spids: [58972]
                                    )
                                    (BraceGroup
                                      children: [
                                        (Sentence
                                          child: (C {(test)} {(-h)} {(DQ ($ VSub_Name '$file'))})
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_Great
                                          fd: 16777215
                                          arg_word: {(/dev/null)}
                                          spids: [59007]
                                        )
                                        (Redir
                                          op_id: Redir_GreatAnd
                                          fd: 2
                                          arg_word: {(1)}
                                          spids: [59010]
                                        )
                                      ]
                                      spids: [58994]
                                    )
                                    (C {(test)} {(-f)} {(DQ ($ VSub_Name '$file'))})
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(Lit_Other ':')})]
                          spids: [16777215 59025]
                        )
                        (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: [59045]
                                )
                              ]
                              spids: [59045]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [59031 59042]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {($ VSub_Name '$rmforce')})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                          spids: [59052 59057]
                        )
                      ]
                      spids: [16777215 59063]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rmfiles)
                          op: Equal
                          rhs: {($ VSub_Name '$file')}
                          spids: [59067]
                        )
                      ]
                      spids: [59067]
                    )
                    (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: [59121 59136]
                                        )
                                      spids: [59117 59119]
                                    )
                                    (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: [59184 59191 59193 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: [59196 59197 59220 16777215]
                                                )
                                              ]
                                              spids: [59173 59181 59223]
                                            )
                                            (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: [59169 59170 59255 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 59273]
                                                )
                                              ]
                                              spids: [16777215 59291]
                                            )
                                            (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 59306]
                                                )
                                              ]
                                              spids: [16777215 59324]
                                            )
                                          ]
                                          spids: [59258 59259 59331 16777215]
                                        )
                                      ]
                                      spids: [59162 59166 59334]
                                    )
                                  ]
                                  spids: [16777215 59097]
                                )
                              ]
                              spids: [16777215 59337]
                            )
                          ]
                          spids: [59079 59081 59340 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 59406]
                                        )
                                      ]
                                      spids: [16777215 59421]
                                    )
                                    (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 59453]
                                        )
                                      ]
                                      spids: [16777215 59468]
                                    )
                                  ]
                                  spids: [16777215 59362]
                                )
                              ]
                              spids: [16777215 59471]
                            )
                          ]
                          spids: [59344 59346 59474 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: [59498]
                                        )
                                      ]
                                      spids: [59498]
                                    )
                                    (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: [59528]
                                                )
                                              ]
                                              spids: [59528]
                                            )
                                            (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: [59546]
                                                )
                                              ]
                                              spids: [59546]
                                            )
                                            (C {(func_append)} {(rmfiles)} 
                                              {(DQ (' ') ($ VSub_Name '$file'))}
                                            )
                                          ]
                                          spids: [59509 59511 59568 16777215]
                                        )
                                      ]
                                      spids: [59502 59506 59571]
                                    )
                                    (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: [59609]
                                                        )
                                                      ]
                                                      spids: [59609]
                                                    )
                                                    (C {(func_source)} 
                                                      {
                                                        ($ VSub_Name 
'$func_ltwrapper_scriptname_result'
                                                        )
                                                      }
                                                    )
                                                    (C {(func_append)} {(rmfiles)} 
                                                      {
                                                        (DQ (' ') 
                                                          ($ VSub_Name 
'$func_ltwrapper_scriptname_result'
                                                          )
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [16777215 59599]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:relink_command)
                                                      op: Equal
                                                      rhs: {(EmptyPart)}
                                                      spids: [59630]
                                                    )
                                                  ]
                                                  spids: [59630]
                                                )
                                                (C {(func_source)} 
                                                  {($ VSub_Name '$dir') (/) 
                                                    ($ VSub_Name '$noexename')
                                                  }
                                                )
                                              ]
                                              spids: [59627 59640]
                                            )
                                            (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 59695]
                                                )
                                              ]
                                              spids: [16777215 59710]
                                            )
                                            (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 59731]
                                                )
                                              ]
                                              spids: [16777215 59747]
                                            )
                                          ]
                                          spids: [16777215 59587]
                                        )
                                      ]
                                      spids: [16777215 59750]
                                    )
                                  ]
                                  spids: [16777215 59495]
                                )
                              ]
                              spids: [16777215 59753]
                            )
                          ]
                          spids: [59478 59479 59756 16777215]
                        )
                      ]
                      spids: [59072 59076 59759]
                    )
                    (C {(func_show_eval)} {(DQ ($ VSub_Name '$RM') (' ') ($ VSub_Name '$rmfiles'))} 
                      {(SQ <'exit_status=1'>)}
                    )
                  ]
                  spids: [58820 59775]
                )
              spids: [58816 58818]
            )
            (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 59806]
                        )
                      ]
                      spids: [16777215 59818]
                    )
                  ]
                  spids: [59792 59821]
                )
              spids: [59788 59790]
            )
            (ControlFlow
              token: <ControlFlow_Exit exit>
              arg_word: {($ VSub_Name '$exit_status')}
            )
          ]
          spids: [58679]
        )
      spids: [58674 58678]
    )
    (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: [59862 59868]
                )
              }
            )
          ]
          spids: [16777215 59857]
        )
      ]
      spids: [16777215 59870]
    )
    (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: [59886]
                )
              ]
              spids: [59886]
            )
            (C {(func_fatal_help)} {(DQ ('you must specify a MODE'))})
          ]
          spids: [59883]
        )
      ]
    )
    (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 59931]
        )
      ]
      spids: [16777215 59947]
    )
    (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:[59990])]
      spids: [59990]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:build_old_libs) op:Equal rhs:{(yes)} spids:[59993])]
      spids: [59993]
    )
    (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: [60011 60012 60017 16777215]
                          )
                          (case_arm
                            pat_list: [{(Lit_Other '*')}]
                            action: [(C {(echo)} {(yes)})]
                            spids: [60019 60020 60025 16777215]
                          )
                        ]
                        spids: [60005 60009 60027]
                      )
                    ]
                  )
                left_token: <Left_Backtick '`'>
                spids: [60004 60028]
              )
            }
          spids: [60003]
        )
      ]
      spids: [60003]
    )
  ]
)