(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
                  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: -1
                          arg_word: {(/dev/null)}
                          spids: [341]
                        )
                        (Redir
                          op_id: Redir_GreatAnd
                          fd: 2
                          arg_word: {(1)}
                          spids: [344]
                        )
                      ]
                      spids: [335 339]
                    )
                  ]
                  op_id: Op_DAmp
                )
              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: [-1 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 -1]
            )
          ]
          spids: [390 403 418]
        )
      ]
      spids: [387 420]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_G_user_locale) op:Equal rhs:{(SQ )} spids:[426])]
      spids: [426]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_G_safe_locale) op:Equal rhs:{(SQ )} spids:[428])]
      spids: [428]
    )
    (ForEach
      iter_name: _G_var
      iter_words: [{(LANG)} {(LANGUAGE)} {(LC_ALL)} {(LC_CTYPE)} {(LC_COLLATE)} {(LC_MESSAGES)}]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (C {(eval)} 
              {
                (DQ ('if test 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 -1]
    )
    (AndOr
      children: [
        (Subshell
          child: (C {(unset)} {(CDPATH)})
          redirects: [
            (Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[510])
            (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[513])
          ]
          spids: [504 508]
        )
        (C {(unset)} {(CDPATH)})
      ]
      op_id: Op_DAmp
    )
    (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
              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: -1
                      arg_word: {(/dev/null)}
                      spids: [590]
                    )
                    (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[593])
                  ]
                  spids: [572 588]
                )
                (BraceGroup
                  children: [
                    (AndOr
                      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: -1
                              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]
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [598]
                )
              ]
              op_id: Op_DAmp
            )
          ]
          spids: [-1 565]
        )
      ]
      spids: [-1 636]
    )
    (FuncDef
      name: func_executable_p
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (C {(test)} {(-f)} {(DQ ($ VSub_Number '$1'))})
                (C {(test)} {(-x)} {(DQ ($ VSub_Number '$1'))})
              ]
              op_id: Op_DAmp
            )
          ]
          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: False
              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
                      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]
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (ForEach
                      iter_name: _G_prog_name
                      iter_words: [{($ VSub_Name '$_G_progs_list')}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (ForEach
                              iter_name: _exeext
                              iter_words: [{(SQ )} {(.EXE)}]
                              do_arg_iter: False
                              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
                                      children: [
                                        (C {(func_executable_p)} {(DQ ($ VSub_Name '$_G_path_prog'))})
                                        (ControlFlow
                                          token: <ControlFlow_Continue continue>
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                    (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 -1]
                                        )
                                        (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 -1]
                                        )
                                      ]
                                      spids: [843 856 888]
                                    )
                                    (AndOr
                                      children: [
                                        (C {($ VSub_Name '$_G_path_prog_found')})
                                        (ControlFlow
                                          token: <ControlFlow_Break break>
                                          arg_word: {(3)}
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                  ]
                                  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
              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:-1 arg_word:{(2)} spids:[934])]
                    )
                    (C {(exit)} {(1)})
                  ]
                  spids: [923]
                )
              ]
              op_id: Op_DAmp
            )
          ]
          spids: [726]
        )
      spids: [721 725]
    )
    (AndOr
      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: False
              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:-1 arg_word:{(conftest.sed)} spids:[1033])]
                )
              ]
              negated: False
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_G_sed_script)
                  op: Equal
                  rhs: {(SQ )}
                  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: -1
                          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: -1
                                  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: -1
                                  arg_word: {(conftest.nl)}
                                  spids: [1104]
                                )
                              ]
                            )
                            (AndOr
                              children: [
                                (SimpleCommand
                                  words: [{(DQ ($ VSub_Name '$_G_path_prog'))} {(-f)} {(conftest.sed)}]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Less
                                      fd: -1
                                      arg_word: {(conftest.nl)}
                                      spids: [1117]
                                    )
                                    (Redir
                                      op_id: Redir_Great
                                      fd: -1
                                      arg_word: {(conftest.out)}
                                      spids: [1120]
                                    )
                                    (Redir
                                      op_id: Redir_Great
                                      fd: 2
                                      arg_word: {(/dev/null)}
                                      spids: [1123]
                                    )
                                  ]
                                )
                                (ControlFlow
                                  token: <ControlFlow_Break break>
                                )
                              ]
                              op_id: Op_DPipe
                            )
                            (AndOr
                              children: [
                                (SimpleCommand
                                  words: [{(diff)} {(conftest.out)} {(conftest.nl)}]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: -1
                                      arg_word: {(/dev/null)}
                                      spids: [1137]
                                    )
                                    (Redir
                                      op_id: Redir_GreatAnd
                                      fd: 2
                                      arg_word: {(1)}
                                      spids: [1140]
                                    )
                                  ]
                                )
                                (ControlFlow
                                  token: <ControlFlow_Break break>
                                )
                              ]
                              op_id: Op_DPipe
                            )
                            (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: [-1 1175]
                                )
                              ]
                              spids: [-1 1190]
                            )
                            (AndOr
                              children: [
                                (C {(test)} {(10)} {(-lt)} {(DQ ($ VSub_Name '$_G_count'))})
                                (ControlFlow
                                  token: <ControlFlow_Break break>
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          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]
        )
      ]
      op_id: Op_DAmp
    )
    (AndOr
      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: -1
                          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: -1
                                  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: -1
                                  arg_word: {(conftest.nl)}
                                  spids: [1346]
                                )
                              ]
                            )
                            (AndOr
                              children: [
                                (SimpleCommand
                                  words: [
                                    {(DQ ($ VSub_Name '$_G_path_prog'))}
                                    {(-e)}
                                    {(SQ <'GREP$'>)}
                                    {(-e)}
                                    {(SQ <'-(cannot match)-'>)}
                                  ]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Less
                                      fd: -1
                                      arg_word: {(conftest.nl)}
                                      spids: [1367]
                                    )
                                    (Redir
                                      op_id: Redir_Great
                                      fd: -1
                                      arg_word: {(conftest.out)}
                                      spids: [1370]
                                    )
                                    (Redir
                                      op_id: Redir_Great
                                      fd: 2
                                      arg_word: {(/dev/null)}
                                      spids: [1373]
                                    )
                                  ]
                                )
                                (ControlFlow
                                  token: <ControlFlow_Break break>
                                )
                              ]
                              op_id: Op_DPipe
                            )
                            (AndOr
                              children: [
                                (SimpleCommand
                                  words: [{(diff)} {(conftest.out)} {(conftest.nl)}]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: -1
                                      arg_word: {(/dev/null)}
                                      spids: [1387]
                                    )
                                    (Redir
                                      op_id: Redir_GreatAnd
                                      fd: 2
                                      arg_word: {(1)}
                                      spids: [1390]
                                    )
                                  ]
                                )
                                (ControlFlow
                                  token: <ControlFlow_Break break>
                                )
                              ]
                              op_id: Op_DPipe
                            )
                            (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: [-1 1425]
                                )
                              ]
                              spids: [-1 1440]
                            )
                            (AndOr
                              children: [
                                (C {(test)} {(10)} {(-lt)} {(DQ ($ VSub_Name '$_G_count'))})
                                (ControlFlow
                                  token: <ControlFlow_Break break>
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          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]
        )
      ]
      op_id: Op_DAmp
    )
    (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') (EscapedLiteralPart token:<Lit_EscapedChar '\\n'>))}
            )
          spids: [1537 1544]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name EGREP>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ ($ VSub_Name '$GREP') (' -E'))})
          spids: [1548 1555]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name FGREP>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ ($ VSub_Name '$GREP') (' -F'))})
          spids: [1559 1566]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name LN_S>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ ('ln -s'))})
          spids: [1570 1576]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name MAKE>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ (make))})
          spids: [1580 1586]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name MKDIR>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ (mkdir))})
          spids: [1590 1596]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name MV>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ ('mv -f'))})
          spids: [1600 1606]
        )
      }
    )
    (C {(Lit_Other ':')} 
      {
        (BracedVarSub
          token: <VSub_Name RM>
          suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ ('rm -f'))})
          spids: [1610 1616]
        )
      }
    )
    (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: [1624 1631]
                    )
                  )
                }
            )
          spids: [1620 1633]
        )
      }
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sed_dirname)
          op: Equal
          rhs: {(SQ <'s|/[^/]*$||'>)}
          spids: [1647]
        )
      ]
      spids: [1647]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sed_basename)
          op: Equal
          rhs: {(SQ <'s|^.*/||'>)}
          spids: [1652]
        )
      ]
      spids: [1652]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sed_quote_subst)
          op: Equal
          rhs: {(SQ <'s|\\([`"$\\\\]\\)|\\\\\\1|g'>)}
          spids: [1664]
        )
      ]
      spids: [1664]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sed_double_quote_subst)
          op: Equal
          rhs: {(SQ <'s/\\(["`\\\\]\\)/\\\\\\1/g'>)}
          spids: [1673]
        )
      ]
      spids: [1673]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sed_make_literal_regex)
          op: Equal
          rhs: {(SQ <'s|[].[^$\\\\*\\/]|\\\\&|g'>)}
          spids: [1685]
        )
      ]
      spids: [1685]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sed_naive_backslashify)
          op: Equal
          rhs: {(SQ <'s|\\\\\\\\*|\\\\|g;s|/|\\\\|g;s|\\\\|\\\\\\\\|g'>)}
          spids: [1700]
        )
      ]
      spids: [1700]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_G_bs) op:Equal rhs:{(SQ <'\\\\'>)} spids:[1721])]
      spids: [1721]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_G_bs2) op:Equal rhs:{(SQ <'\\\\\\\\'>)} spids:[1726])]
      spids: [1726]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_G_bs4)
          op: Equal
          rhs: {(SQ <'\\\\\\\\\\\\\\\\'>)}
          spids: [1731]
        )
      ]
      spids: [1731]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_G_dollar) op:Equal rhs:{(SQ <'\\$'>)} spids:[1736])]
      spids: [1736]
    )
    (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/') 
                (EscapedLiteralPart token:<Lit_EscapedChar '\\n'>) (//g)
              )
            }
          spids: [1741]
        )
      ]
      spids: [1741]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:EXIT_SUCCESS) op:Equal rhs:{(0)} spids:[1826])]
      spids: [1826]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:EXIT_FAILURE) op:Equal rhs:{(1)} spids:[1829])]
      spids: [1829]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:EXIT_MISMATCH) op:Equal rhs:{(63)} spids:[1832])]
      spids: [1832]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:EXIT_SKIP) op:Equal rhs:{(77)} spids:[1838])]
      spids: [1838]
    )
    (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: [1861 1867]
              )
            }
          spids: [1860]
        )
      ]
      spids: [1860]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:exit_cmd) op:Equal rhs:{(Lit_Other ':')} spids:[1869])]
      spids: [1869]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:exit_status)
          op: Equal
          rhs: {($ VSub_Name '$EXIT_SUCCESS')}
          spids: [1894]
        )
      ]
      spids: [1894]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:progpath)
          op: Equal
          rhs: {($ VSub_Number '$0')}
          spids: [1913]
        )
      ]
      spids: [1913]
    )
    (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: False
                      )
                    ]
                  )
                left_token: <Left_Backtick '`'>
                spids: [1921 1934]
              )
            }
          spids: [1920]
        )
      ]
      spids: [1920]
    )
    (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: [1947 1959 1961 -1]
        )
        (case_arm
          pat_list: [
            {(Lit_Other '*') (Lit_Other '[') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (/) 
              (Lit_Other ']') (Lit_Other '*')
            }
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:progdir)
                  op: Equal
                  rhs: 
                    {
                      (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: False
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [1974 1987]
                      )
                    }
                  spids: [1973]
                )
              ]
              spids: [1973]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:progdir)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (AndOr
                                children: [(C {(cd)} {(DQ ($ VSub_Name '$progdir'))}) (C {(pwd)})]
                                op_id: Op_DAmp
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [1991 2001]
                      )
                    }
                  spids: [1990]
                )
              ]
              spids: [1990]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:progpath)
                  op: Equal
                  rhs: {($ VSub_Name '$progdir') (/) ($ VSub_Name '$progname')}
                  spids: [2004]
                )
              ]
              spids: [2004]
            )
          ]
          spids: [1964 1970 2010 -1]
        )
        (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: [2017]
                )
              ]
              spids: [2017]
            )
            (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: [2022 2026]
                      )
                    }
                  spids: [2021]
                )
              ]
              spids: [2021]
            )
            (ForEach
              iter_name: progdir
              iter_words: [{($ VSub_Name '$PATH')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {($ VSub_Name '$_G_IFS')}
                          spids: [2041]
                        )
                      ]
                      spids: [2041]
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(-x)} {(DQ ($ VSub_Name '$progdir') (/) ($ VSub_Name '$progname'))})
                        (ControlFlow token:<ControlFlow_Break break>)
                      ]
                      op_id: Op_DAmp
                    )
                  ]
                  spids: [2038 2060]
                )
              spids: [2034 2036]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:IFS)
                  op: Equal
                  rhs: {($ VSub_Name '$_G_IFS')}
                  spids: [2063]
                )
              ]
              spids: [2063]
            )
            (AndOr
              children: [
                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$progdir'))})
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:progdir)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: (CommandList children:[(C {(pwd)})])
                            left_token: <Left_Backtick '`'>
                            spids: [2078 2080]
                          )
                        }
                      spids: [2077]
                    )
                  ]
                  spids: [2077]
                )
              ]
              op_id: Op_DPipe
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:progpath)
                  op: Equal
                  rhs: {($ VSub_Name '$progdir') (/) ($ VSub_Name '$progname')}
                  spids: [2083]
                )
              ]
              spids: [2083]
            )
          ]
          spids: [2013 2014 2089 -1]
        )
      ]
      spids: [1940 1944 2091]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_dry_run) op:Equal rhs:{(false)} spids:[2115])]
      spids: [2115]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_quiet) op:Equal rhs:{(false)} spids:[2118])]
      spids: [2118]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_verbose) op:Equal rhs:{(false)} spids:[2121])]
      spids: [2121]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:warning_categories) op:Equal rhs:{(SQ )} spids:[2134])]
      spids: [2134]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:warning_func)
          op: Equal
          rhs: {(func_warn_and_continue)}
          spids: [2146]
        )
      ]
      spids: [2146]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:opt_warning_types) op:Equal rhs:{(all)} spids:[2159])]
      spids: [2159]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:require_term_colors)
          op: Equal
          rhs: {(func_require_term_colors)}
          spids: [2215]
        )
      ]
      spids: [2215]
    )
    (FuncDef
      name: func_require_term_colors
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (AndOr
              children: [
                (C {(test)} {(-t)} {(1)})
                (BraceGroup
                  children: [
                    (AndOr
                      children: [
                        (C {(test)} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name COLORTERM>
                                suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(set)})
                                spids: [2258 2262]
                              )
                            )
                          }
                        )
                        (C {(Lit_Other ':')} 
                          {
                            (BracedVarSub
                              token: <VSub_Name USE_ANSI_COLORS>
                              suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ (1))})
                              spids: [2269 2275]
                            )
                          }
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (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: [2299]
                                )
                              ]
                              spids: [2299]
                            )
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:tc_bold)
                                      op: Equal
                                      rhs: {(SQ <'\x1b[1m'>)}
                                      spids: [2305]
                                    )
                                  ]
                                  spids: [2305]
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:tc_standout)
                                  op: Equal
                                  rhs: {(SQ <'\x1b[7m'>)}
                                  spids: [2311]
                                )
                              ]
                              spids: [2311]
                            )
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:tc_red)
                                      op: Equal
                                      rhs: {(SQ <'\x1b[31m'>)}
                                      spids: [2317]
                                    )
                                  ]
                                  spids: [2317]
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:tc_green)
                                  op: Equal
                                  rhs: {(SQ <'\x1b[32m'>)}
                                  spids: [2323]
                                )
                              ]
                              spids: [2323]
                            )
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:tc_blue)
                                      op: Equal
                                      rhs: {(SQ <'\x1b[34m'>)}
                                      spids: [2329]
                                    )
                                  ]
                                  spids: [2329]
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:tc_cyan)
                                  op: Equal
                                  rhs: {(SQ <'\x1b[36m'>)}
                                  spids: [2335]
                                )
                              ]
                              spids: [2335]
                            )
                          ]
                          spids: [-1 2292]
                        )
                      ]
                      else_action: [
                        (AndOr
                          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: [2358]
                                              )
                                            ]
                                          )
                                        ]
                                      )
                                    left_token: <Left_Backtick '`'>
                                    spids: [2353 2360]
                                  )
                                )
                              }
                            )
                            (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: [2369 2373]
                                          )
                                        }
                                      spids: [2368]
                                    )
                                  ]
                                  spids: [2368]
                                )
                                (AndOr
                                  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: [2386]
                                                      )
                                                    ]
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [2381 2388]
                                          )
                                        )
                                      }
                                    )
                                    (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: [2394 2398]
                                              )
                                            }
                                          spids: [2393]
                                        )
                                      ]
                                      spids: [2393]
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:tc_standout)
                                      op: Equal
                                      rhs: {($ VSub_Name '$tc_bold')}
                                      spids: [2401]
                                    )
                                  ]
                                  spids: [2401]
                                )
                                (AndOr
                                  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: [2415]
                                                      )
                                                    ]
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [2410 2417]
                                          )
                                        )
                                      }
                                    )
                                    (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: [2423 2427]
                                              )
                                            }
                                          spids: [2422]
                                        )
                                      ]
                                      spids: [2422]
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                                (AndOr
                                  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: [2442]
                                                      )
                                                    ]
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [2435 2444]
                                          )
                                        )
                                      }
                                    )
                                    (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: [2450 2456]
                                              )
                                            }
                                          spids: [2449]
                                        )
                                      ]
                                      spids: [2449]
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                                (AndOr
                                  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: [2471]
                                                      )
                                                    ]
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [2464 2473]
                                          )
                                        )
                                      }
                                    )
                                    (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: [2479 2485]
                                              )
                                            }
                                          spids: [2478]
                                        )
                                      ]
                                      spids: [2478]
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                                (AndOr
                                  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: [2500]
                                                      )
                                                    ]
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [2493 2502]
                                          )
                                        )
                                      }
                                    )
                                    (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: [2508 2514]
                                              )
                                            }
                                          spids: [2507]
                                        )
                                      ]
                                      spids: [2507]
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                                (AndOr
                                  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: [2529]
                                                      )
                                                    ]
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [2522 2531]
                                          )
                                        )
                                      }
                                    )
                                    (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: [2537 2543]
                                              )
                                            }
                                          spids: [2536]
                                        )
                                      ]
                                      spids: [2536]
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                              ]
                              spids: [2365]
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      ]
                      spids: [2341 2549]
                    )
                  ]
                  spids: [2238]
                )
              ]
              op_id: Op_DAmp
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:require_term_colors)
                  op: Equal
                  rhs: {(Lit_Other ':')}
                  spids: [2556]
                )
              ]
              spids: [2556]
            )
          ]
          spids: [2223]
        )
      spids: [2218 2222]
    )
    (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: [2619 2623]
                      ) 
                      (BracedVarSub
                        token: <VSub_Name ZSH_VERSION>
                        suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(set)})
                        spids: [2624 2628]
                      )
                    )
                  }
                )
              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: [2637 2643]
                )
              }
            )
            (C {(Lit_Other ':')} 
              {
                (BracedVarSub
                  token: <VSub_Name _G_HAVE_XSI_OPS>
                  suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(DQ (yes))})
                  spids: [2648 2654]
                )
              }
            )
            (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: [2668 2682 2684 -1]
                )
                (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: [2693 2699]
                        )
                      }
                    )
                  ]
                  spids: [2687 2688 2702 -1]
                )
              ]
              spids: [2661 2665 2705]
            )
          ]
          spids: [-1 2632]
        )
      ]
      spids: [-1 2708]
    )
    (AndOr
      children: [
        (C {(test)} {(-z)} {(DQ ($ VSub_Name '$_G_HAVE_PLUSEQ_OP'))})
        (AndOr
          children: [
            (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:[2744])]
              spids: [2736 2742]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_G_HAVE_PLUSEQ_OP)
                  op: Equal
                  rhs: {(yes)}
                  spids: [2751]
                )
              ]
              spids: [2751]
            )
          ]
          op_id: Op_DAmp
        )
      ]
      op_id: Op_DAmp
    )
    (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: [-1 2767]
        )
      ]
      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: [2798]
            )
          spids: [2792 2796]
        )
      ]
      spids: [2785 2819]
    )
    (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: [-1 2848]
        )
      ]
      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: [2872]
            )
          spids: [2866 2870]
        )
      ]
      spids: [2863 2902]
    )
    (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: [2961 2973]
                      )
                    }
                  spids: [2960]
                )
              ]
              spids: [2960]
            )
            (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: [2986 2992 2994 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [(C {(func_append)} {(DQ ($ VSub_At '$@'))})]
                  spids: [2997 2998 3006 -1]
                )
              ]
              spids: [2977 2983 3009]
            )
          ]
          spids: [2941]
        )
      spids: [2936 2940]
    )
    (AndOr
      children: [
        (C {(test)} {(-z)} {(DQ ($ VSub_Name '$_G_HAVE_ARITH_OP'))})
        (AndOr
          children: [
            (Subshell
              child: (C {(eval)} {(SQ <'test 2 = $(( 1 + 1 ))'>)})
              redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[3045])]
              spids: [3037 3043]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_G_HAVE_ARITH_OP)
                  op: Equal
                  rhs: {(yes)}
                  spids: [3052]
                )
              ]
              spids: [3052]
            )
          ]
          op_id: Op_DAmp
        )
      ]
      op_id: Op_DAmp
    )
    (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: [-1 3069]
        )
      ]
      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: [3100 3106]
                          )
                        }
                      spids: [3099]
                    )
                  ]
                  spids: [3099]
                )
              ]
              spids: [3092]
            )
          spids: [3086 3090]
        )
      ]
      spids: [3083 3111]
    )
    (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: [3155]
                )
              ]
              spids: [3155]
            )
            (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: [3161]
                )
              ]
              spids: [3161]
            )
          ]
          spids: [-1 3140]
        )
      ]
      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: [3177]
            )
          ]
          spids: [3177]
        )
        (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: [3183]
            )
          ]
          spids: [3183]
        )
      ]
      spids: [3170 3193]
    )
    (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: [3329]
                )
              ]
              spids: [3329]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_echo_IFS)
                  op: Equal
                  rhs: {($ VSub_Name '$IFS')}
                  spids: [3334]
                )
              ]
              spids: [3334]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:IFS)
                  op: Equal
                  rhs: {($ VSub_Name '$nl')}
                  spids: [3338]
                )
              ]
              spids: [3338]
            )
            (ForEach
              iter_name: _G_line
              iter_words: [{($ VSub_Name '$_G_message')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {($ VSub_Name '$func_echo_IFS')}
                          spids: [3354]
                        )
                      ]
                      spids: [3354]
                    )
                    (C {($ VSub_Name '$ECHO')} 
                      {(DQ ($ VSub_Name '$progname') (': ') ($ VSub_Name '$_G_line'))}
                    )
                  ]
                  spids: [3351 3367]
                )
              spids: [3347 3349]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:IFS)
                  op: Equal
                  rhs: {($ VSub_Name '$func_echo_IFS')}
                  spids: [3370]
                )
              ]
              spids: [3370]
            )
          ]
          spids: [3322]
        )
      spids: [3317 3321]
    )
    (FuncDef
      name: func_echo_all
      body: 
        (BraceGroup
          children: [(C {($ VSub_Name '$ECHO')} {(DQ ($ VSub_Star '$*'))})]
          spids: [3391]
        )
      spids: [3386 3390]
    )
    (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: [3432]
                    )
                  ]
                  spids: [3432]
                )
              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: [3439]
                )
              ]
              spids: [3439]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_G_prefix)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$progname') (': ') ($ VSub_Name '$_G_infix') (': '))}
                  spids: [3443]
                )
              ]
              spids: [3443]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_G_message)
                  op: Equal
                  rhs: {($ VSub_Star '$*')}
                  spids: [3452]
                )
              ]
              spids: [3452]
            )
            (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: False
              body: 
                (DoGroup
                  children: [
                    (AndOr
                      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: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [3513 3527]
                                      )
                                    }
                                  spids: [3512]
                                )
                              ]
                              spids: [3512]
                            )
                            (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: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [3531 3547]
                                      )
                                    }
                                  spids: [3530]
                                )
                              ]
                              spids: [3530]
                            )
                          ]
                          spids: [3509]
                        )
                      ]
                      op_id: Op_DAmp
                    )
                  ]
                  spids: [3496 3553]
                )
              spids: [3466 -1]
            )
            (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: False
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [3561 3575]
                      ) (DQ ('  '))
                    }
                  spids: [3556]
                )
              ]
              spids: [3556]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_echo_infix_1_IFS)
                  op: Equal
                  rhs: {($ VSub_Name '$IFS')}
                  spids: [3585]
                )
              ]
              spids: [3585]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:IFS)
                  op: Equal
                  rhs: {($ VSub_Name '$nl')}
                  spids: [3589]
                )
              ]
              spids: [3589]
            )
            (ForEach
              iter_name: _G_line
              iter_words: [{($ VSub_Name '$_G_message')}]
              do_arg_iter: False
              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: [3605]
                        )
                      ]
                      spids: [3605]
                    )
                    (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:-1 arg_word:{(2)} spids:[3618])]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_G_prefix)
                          op: Equal
                          rhs: {($ VSub_Name '$_G_indent')}
                          spids: [3622]
                        )
                      ]
                      spids: [3622]
                    )
                  ]
                  spids: [3602 3626]
                )
              spids: [3598 3600]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:IFS)
                  op: Equal
                  rhs: {($ VSub_Name '$func_echo_infix_1_IFS')}
                  spids: [3629]
                )
              ]
              spids: [3629]
            )
          ]
          spids: [3421]
        )
      spids: [3416 3420]
    )
    (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:-1 arg_word:{(2)} spids:[3677])]
            )
          ]
          spids: [3650]
        )
      spids: [3645 3649]
    )
    (FuncDef
      name: func_fatal_error
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (C {(func_error)} {(DQ ($ VSub_Star '$*'))})
            (C {(exit)} {($ VSub_Name '$EXIT_FAILURE')})
          ]
          spids: [3698]
        )
      spids: [3693 3697]
    )
    (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:-1 arg_word:{(/dev/null)} spids:[3751])
                (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[3754])
              ]
            )
          ]
          spids: [3734]
        )
      spids: [3729 3733]
    )
    (AndOr
      children: [
        (C {(test)} {(-z)} {(DQ ($ VSub_Name '$_G_HAVE_XSI_OPS'))})
        (AndOr
          children: [
            (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:[3795])]
              spids: [3786 3793]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_G_HAVE_XSI_OPS)
                  op: Equal
                  rhs: {(yes)}
                  spids: [3802]
                )
              ]
              spids: [3802]
            )
          ]
          op_id: Op_DAmp
        )
      ]
      op_id: Op_DAmp
    )
    (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: [-1 3819]
        )
      ]
      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
                                    children: [
                                      (SimpleCommand
                                        words: [
                                          {(expr)}
                                          {(DQ ($ VSub_Number '$1'))}
                                          {(Lit_Other ':')}
                                          {(DQ ('.*'))}
                                        ]
                                        redirects: [
                                          (Redir
                                            op_id: Redir_Great
                                            fd: 2
                                            arg_word: {(/dev/null)}
                                            spids: [3863]
                                          )
                                        ]
                                      )
                                      (C {(echo)} {($ VSub_Name '$max_cmd_len')})
                                    ]
                                    op_id: Op_DPipe
                                  )
                                ]
                              )
                            left_token: <Left_Backtick '`'>
                            spids: [3850 3871]
                          )
                        }
                      spids: [3849]
                    )
                  ]
                  spids: [3849]
                )
              ]
              spids: [3842]
            )
          spids: [3836 3840]
        )
      ]
      spids: [3833 3876]
    )
    (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: [3901]
                )
              ]
              spids: [3901]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:_G_dir_list) op:Equal rhs:{(SQ )} spids:[3905])]
              spids: [3905]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$_G_directory_path'))})
                            (C {(test)} {(Lit_Other ':')} {(KW_Bang '!') (Lit_Other '=')} 
                              {(DQ ($ VSub_Name '$opt_dry_run'))}
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      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: [3952]
                                )
                              ]
                              spids: [3952]
                            )
                          ]
                          spids: [3948 3950 3956 -1]
                        )
                      ]
                      spids: [3941 3945 3959]
                    )
                    (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: [3991]
                                )
                              ]
                              spids: [3991]
                            )
                            (Case
                              to_match: {($ VSub_Name '$_G_directory_path')}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (/) (Lit_Other '*')}]
                                  spids: [4008 4011 4013 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [(ControlFlow token:<ControlFlow_Break break>)]
                                  spids: [4015 4016 4020 -1]
                                )
                              ]
                              spids: [4002 4006 4022]
                            )
                            (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: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [4031 4047]
                                      )
                                    }
                                  spids: [4030]
                                )
                              ]
                              spids: [4030]
                            )
                          ]
                          spids: [3980 4050]
                        )
                    )
                    (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: False
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [4054 4068]
                              )
                            }
                          spids: [4053]
                        )
                      ]
                      spids: [4053]
                    )
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:func_mkdir_p_IFS)
                              op: Equal
                              rhs: {($ VSub_Name '$IFS')}
                              spids: [4072]
                            )
                          ]
                          spids: [4072]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {(Lit_Other ':')}
                          spids: [4076]
                        )
                      ]
                      spids: [4076]
                    )
                    (ForEach
                      iter_name: _G_dir
                      iter_words: [{($ VSub_Name '$_G_dir_list')}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_mkdir_p_IFS')}
                                  spids: [4092]
                                )
                              ]
                              spids: [4092]
                            )
                            (AndOr
                              children: [
                                (SimpleCommand
                                  words: [{($ VSub_Name '$MKDIR')} {(DQ ($ VSub_Name '$_G_dir'))}]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: 2
                                      arg_word: {(/dev/null)}
                                      spids: [4114]
                                    )
                                  ]
                                )
                                (C {(Lit_Other ':')})
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          spids: [4089 4122]
                        )
                      spids: [4085 4087]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {($ VSub_Name '$func_mkdir_p_IFS')}
                          spids: [4125]
                        )
                      ]
                      spids: [4125]
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(-d)} {(DQ ($ VSub_Name '$_G_directory_path'))})
                        (C {(func_fatal_error)} {(DQ ("Failed to create '") ($ VSub_Number '$1') ("'"))})
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [-1 3933]
                )
              ]
              spids: [-1 4155]
            )
          ]
          spids: [3894]
        )
      spids: [3889 3893]
    )
    (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: [4189 4194]
                      ) (/) 
                      (BracedVarSub
                        token: <VSub_Number 1>
                        suffix_op: 
                          (StringUnary
                            op_id: VTest_Hyphen
                            arg_word: {($ VSub_Name '$progname')}
                          )
                        spids: [4196 4200]
                      )
                    }
                  spids: [4188]
                )
              ]
              spids: [4188]
            )
            (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: [4224]
                        )
                      ]
                      spids: [4224]
                    )
                  ]
                  spids: [-1 4217]
                )
              ]
              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: [4249]
                                      )
                                    ]
                                  )
                                ]
                              )
                            left_token: <Left_Backtick '`'>
                            spids: [4239 4251]
                          )
                        }
                      spids: [4238]
                    )
                  ]
                  spids: [4238]
                )
                (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: [4278 4282]
                                  ) ($ VSub_Dollar '$$')
                                }
                              spids: [4275]
                            )
                          ]
                          spids: [4275]
                        )
                        (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: [4288 4290]
                                  )
                                }
                              spids: [4287]
                            )
                          ]
                          spids: [4287]
                        )
                        (C {(umask)} {(0077)})
                        (C {($ VSub_Name '$MKDIR')} {(DQ ($ VSub_Name '$_G_tmpdir'))})
                        (C {(umask)} {($ VSub_Name '$func_mktempdir_umask')})
                      ]
                      spids: [-1 4268]
                    )
                  ]
                  spids: [-1 4310]
                )
                (AndOr
                  children: [
                    (C {(test)} {(-d)} {(DQ ($ VSub_Name '$_G_tmpdir'))})
                    (C {(func_fatal_error)} 
                      {(DQ ("cannot create temporary directory '") ($ VSub_Name '$_G_tmpdir') ("'"))}
                    )
                  ]
                  op_id: Op_DPipe
                )
              ]
              spids: [4230 4339]
            )
            (C {($ VSub_Name '$ECHO')} {(DQ ($ VSub_Name '$_G_tmpdir'))})
          ]
          spids: [4181]
        )
      spids: [4176 4180]
    )
    (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: [4384]
                )
              ]
              spids: [4384]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_G_pathcdr)
                  op: Equal
                  rhs: {(SQ <'s|^/[^/]*||'>)}
                  spids: [4390]
                )
              ]
              spids: [4390]
            )
            (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: [4396]
                )
              ]
              spids: [4396]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_G_collapseslashes)
                  op: Equal
                  rhs: {(SQ <'s|/\\{1,\\}|/|g'>)}
                  spids: [4405]
                )
              ]
              spids: [4405]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_G_finalslash)
                  op: Equal
                  rhs: {(SQ <'s|/*$|/|'>)}
                  spids: [4411]
                )
              ]
              spids: [4411]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_normal_abspath_result)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [4422]
                )
              ]
              spids: [4422]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_normal_abspath_tpath)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [4425]
                )
              ]
              spids: [4425]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_normal_abspath_altnamespace)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [4429]
                )
              ]
              spids: [4429]
            )
            (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: [4458 4460]
                          )
                        )
                      }
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_normal_abspath_result)
                          op: Equal
                          rhs: {($ VSub_Name '$func_stripname_result')}
                          spids: [4464]
                        )
                      ]
                      spids: [4464]
                    )
                    (ControlFlow token:<ControlFlow_Return return>)
                  ]
                  spids: [-1 4441 4471 -1]
                )
                (case_arm pat_list:[{(///) (Lit_Other '*')}] spids:[448644884495-1])
                (case_arm
                  pat_list: [{(//) (Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_normal_abspath_altnamespace)
                          op: Equal
                          rhs: {(/)}
                          spids: [4515]
                        )
                      ]
                      spids: [4515]
                    )
                  ]
                  spids: [4498 4500 4519 -1]
                )
                (case_arm pat_list:[{(/) (Lit_Other '*')}] spids:[452245244531-1])
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_normal_abspath_tpath)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: (CommandList children:[(C {(pwd)})])
                                left_token: <Left_Backtick '`'>
                                spids: [4543 4545]
                              ) (/) ($ VSub_Name '$func_normal_abspath_tpath')
                            }
                          spids: [4542]
                        )
                      ]
                      spids: [4542]
                    )
                  ]
                  spids: [4534 4535 4550 -1]
                )
              ]
              spids: [4432 4436 4553]
            )
            (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: False
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [4570 4600]
                      )
                    }
                  spids: [4569]
                )
              ]
              spids: [4569]
            )
            (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: [4649]
                                        )
                                      ]
                                      spids: [4649]
                                    )
                                  ]
                                  spids: [-1 4646]
                                )
                              ]
                              spids: [-1 4653]
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [-1 4628]
                        )
                      ]
                      spids: [-1 4659]
                    )
                    (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: False
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [4663 4681]
                              )
                            }
                          spids: [4662]
                        )
                      ]
                      spids: [4662]
                    )
                    (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: False
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [4685 4703]
                              )
                            }
                          spids: [4684]
                        )
                      ]
                      spids: [4684]
                    )
                    (Case
                      to_match: {($ VSub_Name '$func_normal_abspath_tcomponent')}
                      arms: [
                        (case_arm pat_list:[{(DQ )}] spids:[-147194726-1])
                        (case_arm
                          pat_list: [{(..)}]
                          action: [
                            (C {(func_dirname)} {(DQ ($ VSub_Name '$func_normal_abspath_result'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:func_normal_abspath_result)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_dirname_result')}
                                  spids: [4744]
                                )
                              ]
                              spids: [4744]
                            )
                          ]
                          spids: [4729 4730 4748 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (C {(func_append)} {(func_normal_abspath_result)} 
                              {(DQ (/) ($ VSub_Name '$func_normal_abspath_tcomponent'))}
                            )
                          ]
                          spids: [4751 4752 4769 -1]
                        )
                      ]
                      spids: [4710 4714 4772]
                    )
                  ]
                  spids: [4608 4775]
                )
            )
            (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: [4782]
                )
              ]
              spids: [4782]
            )
          ]
          spids: [4373]
        )
      spids: [4368 4372]
    )
    (FuncDef
      name: func_notquiet
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (AndOr
              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: [4817 4823]
                    )
                  }
                )
              ]
              op_id: Op_DPipe
            )
            (C {(Lit_Other ':')})
          ]
          spids: [4804]
        )
      spids: [4799 4803]
    )
    (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: {(SQ )}
                  spids: [4866]
                )
              ]
              spids: [4866]
            )
            (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: [4876]
                )
              ]
              spids: [4876]
            )
            (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: [4887]
                )
              ]
              spids: [4887]
            )
            (While
              cond: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name '$func_relative_path_tbindir')}
                      arms: [
                        (case_arm
                          pat_list: [{($ VSub_Name '$func_relative_path_tlibdir')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:func_relative_path_tcancelled)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [4923]
                                )
                              ]
                              spids: [4923]
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [4915 4916 4929 -1]
                        )
                        (case_arm
                          pat_list: [{($ VSub_Name '$func_relative_path_tlibdir') (Lit_Other '*')}]
                          action: [
                            (C {(func_stripname)} {(DQ ($ VSub_Name '$func_relative_path_tlibdir'))} {(SQ )} 
                              {(DQ ($ VSub_Name '$func_relative_path_tbindir'))}
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:func_relative_path_tcancelled)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_stripname_result')}
                                  spids: [4955]
                                )
                              ]
                              spids: [4955]
                            )
                            (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: [4973]
                                        )
                                      ]
                                      spids: [4973]
                                    )
                                  ]
                                  spids: [-1 4970]
                                )
                              ]
                              spids: [-1 4977]
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [4932 4934 4983 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (C {(func_dirname)} {($ VSub_Name '$func_relative_path_tlibdir')})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:func_relative_path_tlibdir)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_dirname_result')}
                                  spids: [4995]
                                )
                              ]
                              spids: [4995]
                            )
                            (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: [5017]
                                        )
                                      ]
                                      spids: [5017]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:func_relative_path_tcancelled)
                                          op: Equal
                                          rhs: {($ VSub_Name '$func_relative_path_tbindir')}
                                          spids: [5022]
                                        )
                                      ]
                                      spids: [5022]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Break break>
                                    )
                                  ]
                                  spids: [-1 5010]
                                )
                              ]
                              spids: [-1 5029]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:func_relative_path_result)
                                  op: Equal
                                  rhs: {(../) ($ VSub_Name '$func_relative_path_result')}
                                  spids: [5032]
                                )
                              ]
                              spids: [5032]
                            )
                          ]
                          spids: [4986 4987 5037 -1]
                        )
                      ]
                      spids: [4908 4912 5040]
                    )
                  ]
                  spids: [4901 5043]
                )
            )
            (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: [5065]
                )
              ]
              spids: [5065]
            )
            (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: [-1 5095]
                )
              ]
              spids: [-1 5108]
            )
            (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: [5144]
                        )
                      ]
                      spids: [5144]
                    )
                  ]
                  spids: [-1 5127]
                )
              ]
              spids: [-1 5148]
            )
            (AndOr
              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: [5162]
                    )
                  ]
                  spids: [5162]
                )
              ]
              op_id: Op_DPipe
            )
            (C {(Lit_Other ':')})
          ]
          spids: [4859]
        )
      spids: [4854 4858]
    )
    (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: {(SQ )}
                  spids: [5212]
                )
              ]
              spids: [5212]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_quote_for_eval_result)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [5215]
                )
              ]
              spids: [5215]
            )
            (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: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [5251 5268]
                                      )
                                    }
                                  spids: [5250]
                                )
                              ]
                              spids: [5250]
                            )
                          ]
                          spids: [5239 5247 5270 -1]
                        )
                        (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: [5277]
                                )
                              ]
                              spids: [5277]
                            )
                          ]
                          spids: [5273 5274 5280 -1]
                        )
                      ]
                      spids: [5232 5236 5283]
                    )
                    (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: [-1 5297]
                        )
                      ]
                      else_action: [
                        (C {(func_append)} {(func_quote_for_eval_unquoted_result)} 
                          {(DQ ($ VSub_Name '$_G_unquoted_arg'))}
                        )
                      ]
                      spids: [5310 5322]
                    )
                    (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: [5385]
                                )
                              ]
                              spids: [5385]
                            )
                          ]
                          spids: [5353 5382 5391 -1]
                        )
                        (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: [5398]
                                )
                              ]
                              spids: [5398]
                            )
                          ]
                          spids: [5394 5395 5402 -1]
                        )
                      ]
                      spids: [5326 5330 5405]
                    )
                    (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: [-1 5420]
                        )
                      ]
                      else_action: [
                        (C {(func_append)} {(func_quote_for_eval_result)} 
                          {(DQ ($ VSub_Name '$_G_quoted_arg'))}
                        )
                      ]
                      spids: [5433 5445]
                    )
                    (C {(shift)})
                  ]
                  spids: [5229 5451]
                )
            )
          ]
          spids: [5205]
        )
      spids: [5200 5204]
    )
    (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: False
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [5499 5523]
                              )
                            }
                          spids: [5498]
                        )
                      ]
                      spids: [5498]
                    )
                  ]
                  spids: [5488 5495 5525 -1]
                )
                (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: [5532]
                        )
                      ]
                      spids: [5532]
                    )
                  ]
                  spids: [5528 5529 5535 -1]
                )
              ]
              spids: [5481 5485 5538]
            )
            (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: [5597]
                        )
                      ]
                      spids: [5597]
                    )
                  ]
                  spids: [5565 5594 5603 -1]
                )
              ]
              spids: [5542 5546 5606]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_quote_for_expand_result)
                  op: Equal
                  rhs: {($ VSub_Name '$_G_arg')}
                  spids: [5610]
                )
              ]
              spids: [5610]
            )
          ]
          spids: [5474]
        )
      spids: [5469 5473]
    )
    (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: [-1 5648]
        )
      ]
      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: False
                                          )
                                        ]
                                      )
                                    left_token: <Left_Backtick '`'>
                                    spids: [5694 5723]
                                  )
                                }
                              spids: [5693]
                            )
                          ]
                          spids: [5693]
                        )
                      ]
                      spids: [5689 5691 5724 -1]
                    )
                    (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: False
                                          )
                                        ]
                                      )
                                    left_token: <Left_Backtick '`'>
                                    spids: [5731 5758]
                                  )
                                }
                              spids: [5730]
                            )
                          ]
                          spids: [5730]
                        )
                      ]
                      spids: [5727 5728 5759 -1]
                    )
                  ]
                  spids: [5682 5686 5762]
                )
              ]
              spids: [5675]
            )
          spids: [5669 5673]
        )
      ]
      spids: [5666 5767]
    )
    (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: [5798]
                )
              ]
              spids: [5798]
            )
            (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: [5803 5809]
                      )
                    }
                  spids: [5802]
                )
              ]
              spids: [5802]
            )
            (C {(func_quote_for_expand)} {(DQ ($ VSub_Name '$_G_cmd'))})
            (C {(eval)} {(DQ ('func_notquiet ') ($ VSub_Name '$func_quote_for_expand_result'))})
            (AndOr
              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: [5843]
                        )
                      ]
                      spids: [5843]
                    )
                    (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: [-1 5860]
                        )
                      ]
                      spids: [-1 5873]
                    )
                  ]
                  spids: [5833]
                )
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [5791]
        )
      spids: [5786 5790]
    )
    (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: [5909]
                )
              ]
              spids: [5909]
            )
            (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: [5914 5920]
                      )
                    }
                  spids: [5913]
                )
              ]
              spids: [5913]
            )
            (AndOr
              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: [5928]
                )
              ]
              op_id: Op_DPipe
            )
            (AndOr
              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: [5967]
                        )
                      ]
                      spids: [5967]
                    )
                    (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: [-1 5991]
                        )
                      ]
                      spids: [-1 6004]
                    )
                  ]
                  spids: [5954]
                )
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [5902]
        )
      spids: [5897 5901]
    )
    (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: False
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [6067 6089]
                              )
                            }
                          spids: [6066]
                        )
                      ]
                      spids: [6066]
                    )
                  ]
                  spids: [6050 6063 6092 -1]
                )
                (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: [6100]
                        )
                      ]
                      spids: [6100]
                    )
                  ]
                  spids: [6095 6097 6104 -1]
                )
              ]
              spids: [6043 6047 6107]
            )
          ]
          spids: [6036]
        )
      spids: [6031 6035]
    )
    (FuncDef
      name: func_verbose
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (AndOr
              children: [(C {($ VSub_Name '$opt_verbose')}) (C {(func_echo)} {(DQ ($ VSub_Star '$*'))})]
              op_id: Op_DAmp
            )
            (C {(Lit_Other ':')})
          ]
          spids: [6127]
        )
      spids: [6122 6126]
    )
    (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:-1 arg_word:{(2)} spids:[6191])]
            )
          ]
          spids: [6166]
        )
      spids: [6161 6165]
    )
    (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: [6243 6250 6252 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (C {(func_internal_error)} 
                      {(DQ ("invalid warning category '") ($ VSub_Number '$1') ("'"))}
                    )
                  ]
                  spids: [6255 6256 6266 -1]
                )
              ]
              spids: [6232 6240 6269]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_G_category)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [6273]
                )
              ]
              spids: [6273]
            )
            (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: [6303 6309]
                        )
                      }
                    )
                  ]
                  spids: [6292 6299 6311 -1]
                )
              ]
              spids: [6281 6289 6314]
            )
          ]
          spids: [6221]
        )
      spids: [6216 6220]
    )
    (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: False
            )
          ]
          spids: [6352]
        )
      spids: [6347 6351]
    )
    (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: False
                        )
                      ]
                    )
                  left_token: <Left_Backtick '`'>
                  spids: [6478 6494]
                )
              }
            )
          ]
          spids: [6461]
        )
      spids: [6456 6460]
    )
    (Sentence
      child: 
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:scriptversion)
              op: Equal
              rhs: {(2014-01-07.03)}
              spids: [6528]
            )
          ]
          spids: [6528]
        )
      terminator: <Op_Semi ';'>
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:usage)
          op: Equal
          rhs: {(SQ <'$progpath [OPTION]...'>)}
          spids: [6733]
        )
      ]
      spids: [6733]
    )
    (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: [6748]
        )
      ]
      spids: [6748]
    )
    (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: [6763]
        )
      ]
      spids: [6763]
    )
    (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: [6776]
        )
      ]
      spids: [6776]
    )
    (FuncDef
      name: func_hookable
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (C {(func_append)} {(hookable_fns)} {(DQ (' ') ($ VSub_Number '$1'))})
          ]
          spids: [6823]
        )
      spids: [6818 6822]
    )
    (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: [6878 6885 6887 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (C {(func_fatal_error)} 
                      {(DQ ("'") ($ VSub_Number '$1') ("' does not accept hook functions."))}
                    )
                  ]
                  spids: [6890 6891 6901 -1]
                )
              ]
              spids: [6867 6875 6904]
            )
            (C {(eval)} {(func_append)} {(${ VSub_Number 1) (_hooks)} {(SQ <'" $2"'>)})
          ]
          spids: [6860]
        )
      spids: [6855 6859]
    )
    (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: [6939]
        )
      spids: [6934 6938]
    )
    (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: [7012 7019 7021 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (C {(func_fatal_error)} 
                      {(DQ ("'") ($ VSub_Number '$1') ("' does not support hook funcions.n"))}
                    )
                  ]
                  spids: [7024 7025 7035 -1]
                )
              ]
              spids: [7001 7009 7038]
            )
            (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: False
              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: [7063 7108]
                )
              spids: [7059 7061]
            )
            (C {(func_quote_for_eval)} 
              {
                (BracedVarSub
                  token: <VSub_Number 1>
                  suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                  spids: [7114 7120]
                )
              }
            )
            (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: [7123]
                )
              ]
              spids: [7123]
            )
          ]
          spids: [6994]
        )
      spids: [6989 6993]
    )
    (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: [7362 7368]
                )
              }
            )
            (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: [7377 7383]
                )
              }
            )
            (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: [7392 7398]
                )
              }
            )
            (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: [7410 7416]
                )
              }
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_options_result)
                  op: Equal
                  rhs: {($ VSub_Name '$func_run_hooks_result')}
                  spids: [7424]
                )
              ]
              spids: [7424]
            )
          ]
          spids: [7353]
        )
      spids: [7348 7352]
    )
    (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: [7475]
                )
              ]
              spids: [7475]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:opt_warning_types)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [7479]
                )
              ]
              spids: [7479]
            )
            (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: [7487 7493]
                )
              }
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_options_prep_result)
                  op: Equal
                  rhs: {($ VSub_Name '$func_run_hooks_result')}
                  spids: [7501]
                )
              ]
              spids: [7501]
            )
          ]
          spids: [7464]
        )
      spids: [7459 7463]
    )
    (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: {(SQ )}
                  spids: [7533]
                )
              ]
              spids: [7533]
            )
            (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: [7567 7573]
                        )
                      }
                    )
                    (Sentence
                      child: 
                        (C {(eval)} {(set)} {(dummy)} {(DQ ($ VSub_Name '$func_run_hooks_result'))})
                      terminator: <Op_Semi ';'>
                    )
                    (C {(shift)})
                    (AndOr
                      children: [
                        (C {(test)} {($ VSub_Pound '$#')} {(-gt)} {(0)})
                        (ControlFlow token:<ControlFlow_Break break>)
                      ]
                      op_id: Op_DPipe
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_G_opt)
                          op: Equal
                          rhs: {($ VSub_Number '$1')}
                          spids: [7614]
                        )
                      ]
                      spids: [7614]
                    )
                    (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: [7633]
                                )
                              ]
                              spids: [7633]
                            )
                            (C {(func_echo)} {(DQ ('enabling shell trace mode'))})
                            (C {($ VSub_Name '$debug_cmd')})
                          ]
                          spids: [7628 7631 7649 -1]
                        )
                        (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: [7669 7675]
                                )
                              }
                            )
                            (C {(shift)})
                          ]
                          spids: [7653 7658 7681 -1]
                        )
                        (case_arm
                          pat_list: [{(--warnings)} {(--warning)} {(-W)}]
                          action: [
                            (AndOr
                              children: [
                                (C {(test)} {($ VSub_Pound '$#')} {(Lit_Other '=')} {(0)})
                                (AndOr
                                  children: [
                                    (C {(func_missing_arg)} {($ VSub_Name '$_G_opt')})
                                    (ControlFlow
                                      token: <ControlFlow_Break break>
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                              ]
                              op_id: Op_DAmp
                            )
                            (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: [7724 7731 7748 -1]
                                )
                                (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: [7756]
                                        )
                                      ]
                                      spids: [7756]
                                    )
                                  ]
                                  spids: [7751 7753 7760 -1]
                                )
                                (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: [7768]
                                        )
                                      ]
                                      spids: [7768]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:warning_func)
                                          op: Equal
                                          rhs: {(Lit_Other ':')}
                                          spids: [7772]
                                        )
                                      ]
                                      spids: [7772]
                                    )
                                  ]
                                  spids: [7763 7765 7776 -1]
                                )
                                (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: [7784]
                                        )
                                      ]
                                      spids: [7784]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:warning_func)
                                          op: Equal
                                          rhs: {(func_fatal_error)}
                                          spids: [7788]
                                        )
                                      ]
                                      spids: [7788]
                                    )
                                  ]
                                  spids: [7779 7781 7792 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(func_fatal_error)} 
                                      {
                                        (DQ ("unsupported warning category: '") ($ VSub_Number '$1') 
                                          ("'")
                                        )
                                      }
                                    )
                                  ]
                                  spids: [7795 7796 7810 -1]
                                )
                              ]
                              spids: [7712 7721 7813]
                            )
                            (C {(shift)})
                          ]
                          spids: [7685 7690 7819 -1]
                        )
                        (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: [7828]
                                )
                              ]
                              spids: [7828]
                            )
                          ]
                          spids: [7823 7826 7831 -1]
                        )
                        (case_arm
                          pat_list: [{(--version)}]
                          action: [(C {(func_version)})]
                          spids: [7834 7835 7839 -1]
                        )
                        (case_arm
                          pat_list: [{(-) (EscapedLiteralPart token:<Lit_EscapedChar '\\?'>)} {(-h)}]
                          action: [(C {(func_usage)})]
                          spids: [7842 7846 7850 -1]
                        )
                        (case_arm
                          pat_list: [{(--help)}]
                          action: [(C {(func_help)})]
                          spids: [7853 7854 7858 -1]
                        )
                        (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: [7893 7899]
                                )
                              }
                            )
                            (C {(shift)})
                          ]
                          spids: [7866 7870 7905 -1]
                        )
                        (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: [7939 7945]
                                )
                              }
                            )
                            (C {(shift)})
                          ]
                          spids: [7913 7915 7951 -1]
                        )
                        (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: [7996 8002]
                                )
                              }
                            )
                            (C {(shift)})
                          ]
                          spids: [7959 7971 8008 -1]
                        )
                        (case_arm
                          pat_list: [{(--)}]
                          action: [(ControlFlow token:<ControlFlow_Break break>)]
                          spids: [8012 8013 8017 -1]
                        )
                        (case_arm
                          pat_list: [{(-) (Lit_Other '*')}]
                          action: [
                            (C {(func_fatal_help)} 
                              {(DQ ("unrecognised option: '") ($ VSub_Name '$_G_opt') ("'"))}
                            )
                          ]
                          spids: [8020 8022 8032 -1]
                        )
                        (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: [8046 8052]
                                    )
                                  }
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (Sentence
                              child: (C {(shift)})
                              terminator: <Op_Semi ';'>
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [8035 8036 8060 -1]
                        )
                      ]
                      spids: [7621 7625 8063]
                    )
                  ]
                  spids: [7552 8066]
                )
            )
            (C {(func_quote_for_eval)} 
              {
                (BracedVarSub
                  token: <VSub_Number 1>
                  suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                  spids: [8076 8082]
                )
              }
            )
            (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: [8085]
                )
              ]
              spids: [8085]
            )
          ]
          spids: [7526]
        )
      spids: [7521 7525]
    )
    (C {(func_hookable)} {(func_validate_options)})
    (FuncDef
      name: func_validate_options
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (AndOr
              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: [8134]
                    )
                  ]
                  spids: [8134]
                )
              ]
              op_id: Op_DPipe
            )
            (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: [8146 8152]
                )
              }
            )
            (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: [8170]
                )
              ]
              spids: [8170]
            )
          ]
          spids: [8113]
        )
      spids: [8108 8112]
    )
    (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: [8247 8253]
                )
              }
            )
            (C {(exit)} {($ VSub_Name '$EXIT_FAILURE')})
          ]
          spids: [8213]
        )
      spids: [8208 8212]
    )
    (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'))})
            (C {(exit)} {(0)})
          ]
          spids: [8278]
        )
      spids: [8273 8277]
    )
    (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:{(exit)} spids:[8336])]
              spids: [8336]
            )
          ]
          spids: [8320]
        )
      spids: [8315 8319]
    )
    (AndOr
      children: [
        (C {(test)} {(-z)} {(DQ ($ VSub_Name '$_G_HAVE_XSI_OPS'))})
        (AndOr
          children: [
            (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:[8376])]
              spids: [8367 8374]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_G_HAVE_XSI_OPS)
                  op: Equal
                  rhs: {(yes)}
                  spids: [8383]
                )
              ]
              spids: [8383]
            )
          ]
          op_id: Op_DAmp
        )
      ]
      op_id: Op_DAmp
    )
    (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: [-1 8399]
        )
      ]
      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: [8441 8454]
                          )
                        }
                      spids: [8440]
                    )
                  ]
                  spids: [8440]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:func_split_equals_rhs)
                      op: Equal
                      rhs: {(SQ )}
                      spids: [8457]
                    )
                  ]
                  spids: [8457]
                )
                (AndOr
                  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: [8479 8492]
                              )
                            }
                          spids: [8478]
                        )
                      ]
                      spids: [8478]
                    )
                  ]
                  op_id: Op_DPipe
                )
              ]
              spids: [8433]
            )
          spids: [8427 8431]
        )
      ]
      spids: [8420 8497]
    )
    (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: [-1 8528]
        )
      ]
      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: [8568 8581]
                          )
                        }
                      spids: [8567]
                    )
                  ]
                  spids: [8567]
                )
                (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: [8585 8598]
                          )
                        }
                      spids: [8584]
                    )
                  ]
                  spids: [8584]
                )
              ]
              spids: [8560]
            )
          spids: [8554 8558]
        )
      ]
      spids: [8547 8603]
    )
    (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: [8640 8644]
                  ) ("' for full usage")
                )
              }
            )
            (C {(exit)} {(0)})
          ]
          spids: [8624]
        )
      spids: [8619 8623]
    )
    (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: -1
                  arg_word: {(DQ ($ VSub_Name '$progpath'))}
                  spids: [8707]
                )
              ]
            )
            (C {(echo)})
            (C {(eval)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (ECHO)} 
              {(EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (DQ ($ VSub_Name '$usage_message')) 
                (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
              }
            )
          ]
          spids: [8671]
        )
      spids: [8666 8670]
    )
    (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: -1
                  arg_word: {(DQ ($ VSub_Name '$progpath'))}
                  spids: [8793]
                )
              ]
            )
            (C {(exit)} {($ VSub_QMark '$?')})
          ]
          spids: [8746]
        )
      spids: [8741 8745]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:scriptversion)
          op: Equal
          rhs: {(SQ <'(GNU libtool) 2.4.6'>)}
          spids: [8834]
        )
      ]
      spids: [8834]
    )
    (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: [8865]
                )
              ]
              spids: [8865]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_echo_IFS)
                  op: Equal
                  rhs: {($ VSub_Name '$IFS')}
                  spids: [8870]
                )
              ]
              spids: [8870]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:IFS)
                  op: Equal
                  rhs: {($ VSub_Name '$nl')}
                  spids: [8874]
                )
              ]
              spids: [8874]
            )
            (ForEach
              iter_name: _G_line
              iter_words: [{($ VSub_Name '$_G_message')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {($ VSub_Name '$func_echo_IFS')}
                          spids: [8890]
                        )
                      ]
                      spids: [8890]
                    )
                    (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: [8898 8903]
                          ) (': ') ($ VSub_Name '$_G_line')
                        )
                      }
                    )
                  ]
                  spids: [8887 8909]
                )
              spids: [8883 8885]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:IFS)
                  op: Equal
                  rhs: {($ VSub_Name '$func_echo_IFS')}
                  spids: [8912]
                )
              ]
              spids: [8912]
            )
          ]
          spids: [8858]
        )
      spids: [8853 8857]
    )
    (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: [8945 8951]
                )
              }
            )
          ]
          spids: [8936]
        )
      spids: [8931 8935]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:usage)
          op: Equal
          rhs: {(SQ <'$progpath [OPTION]... [MODE-ARG]...'>)}
          spids: [8974]
        )
      ]
      spids: [8974]
    )
    (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: [8983]
        )
      ]
      spids: [8983]
    )
    (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: [9073]
                                  )
                                ]
                                spids: [9067 9071]
                              )
                              (C {($ VSub_Name '$SED')} {(1q)})
                            ]
                            negated: False
                          )
                        ]
                      )
                    left_token: <Left_Backtick '`'>
                    spids: [9066 9080]
                  ) ('\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: [9090]
                                  )
                                ]
                                spids: [9084 9088]
                              )
                              (C {($ VSub_Name '$SED')} {(1q)})
                            ]
                            negated: False
                          )
                        ]
                      )
                    left_token: <Left_Backtick '`'>
                    spids: [9083 9097]
                  ) ('\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/>.')
                )
              }
            )
            (C {(exit)} {(0)})
          ]
          spids: [9010]
        )
      spids: [9005 9009]
    )
    (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: [9127]
        )
      ]
      spids: [9127]
    )
    (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: [9136]
        )
      ]
      spids: [9136]
    )
    (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: [-1 9158]
        )
      ]
      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: False
                                  )
                                ]
                              )
                            left_token: <Left_Backtick '`'>
                            spids: [9217 9231]
                          )
                        }
                      spids: [9216]
                    )
                  ]
                  spids: [9216]
                )
              ]
              spids: [9213]
            )
          spids: [9207 9211]
        )
        (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: False
                                  )
                                ]
                              )
                            left_token: <Left_Backtick '`'>
                            spids: [9248 9262]
                          )
                        }
                      spids: [9247]
                    )
                  ]
                  spids: [9247]
                )
              ]
              spids: [9244]
            )
          spids: [9238 9242]
        )
      ]
      spids: [9200 9267]
    )
    (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: [9293 9299]
                )
              } {(DQ ('See the ') ($ VSub_Name '$PACKAGE') (' documentation for more information.'))} 
              {(DQ ('Fatal configuration error.'))}
            )
          ]
          spids: [9288]
        )
      spids: [9283 9287]
    )
    (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: [9336]
                )
              ]
              spids: [9336]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:re_endcf)
                  op: Equal
                  rhs: {(SQ <'^# ### END LIBTOOL'>)}
                  spids: [9342]
                )
              ]
              spids: [9342]
            )
            (SimpleCommand
              words: [
                {($ VSub_Name '$SED')}
                {
                  (DQ ('1,/') ($ VSub_Name '$re_begincf') (' CONFIG/d;/') ($ VSub_Name '$re_endcf') 
                    (' CONFIG/,') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (d)
                  )
                }
              ]
              redirects: [
                (Redir
                  op_id: Redir_Less
                  fd: -1
                  arg_word: {(DQ ($ VSub_Name '$progpath'))}
                  spids: [9365]
                )
              ]
            )
            (ForEach
              iter_name: tagname
              iter_words: [{($ VSub_Name '$taglist')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (SimpleCommand
                      words: [
                        {($ VSub_Name '$SED')}
                        {(-n)}
                        {
                          (DQ (/) ($ VSub_Name '$re_begincf') (' TAG CONFIG: ') ($ VSub_Name '$tagname') 
                            (EscapedLiteralPart
                              token: <Lit_EscapedChar '\\$'>
                            ) ('/,/') ($ VSub_Name '$re_endcf') (' TAG CONFIG: ') ($ VSub_Name '$tagname') 
                            (EscapedLiteralPart
                              token: <Lit_EscapedChar '\\$'>
                            ) (/p)
                          )
                        }
                      ]
                      redirects: [
                        (Redir
                          op_id: Redir_Less
                          fd: -1
                          arg_word: {(DQ ($ VSub_Name '$progpath'))}
                          spids: [9407]
                        )
                      ]
                    )
                  ]
                  spids: [9386 9414]
                )
              spids: [9382 9384]
            )
            (C {(exit)} {($ VSub_QMark '$?')})
          ]
          spids: [9333]
        )
      spids: [9328 9332]
    )
    (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: [-1 9464]
                )
              ]
              else_action: [(C {(echo)} {(DQ ('disable shared libraries'))})]
              spids: [9474 9484]
            )
            (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: [-1 9500]
                )
              ]
              else_action: [(C {(echo)} {(DQ ('disable static libraries'))})]
              spids: [9510 9520]
            )
            (C {(exit)} {($ VSub_QMark '$?')})
          ]
          spids: [9440]
        )
      spids: [9435 9439]
    )
    (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: [9559]
                )
              ]
              spids: [9559]
            )
            (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: [9564]
                )
              ]
              spids: [9564]
            )
            (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: [9572]
                )
              ]
              spids: [9572]
            )
            (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: [9580]
                )
              ]
              spids: [9580]
            )
            (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: [9602 9610 9621 -1]
                )
              ]
              spids: [9595 9599 9624]
            )
            (Case
              to_match: {($ VSub_Name '$tagname')}
              arms: [
                (case_arm pat_list:[{(CC)}] spids:[964396449646-1])
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (SimpleCommand
                                  words: [
                                    {($ VSub_Name '$GREP')}
                                    {(DQ ($ VSub_Name '$re_begincf'))}
                                    {(DQ ($ VSub_Name '$progpath'))}
                                  ]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: -1
                                      arg_word: {(/dev/null)}
                                      spids: [9665]
                                    )
                                    (Redir
                                      op_id: Redir_GreatAnd
                                      fd: 2
                                      arg_word: {(1)}
                                      spids: [9668]
                                    )
                                  ]
                                )
                              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: [9675]
                                )
                              ]
                              spids: [9675]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:extractedcf)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (SimpleCommand
                                                words: [
                                                  {($ VSub_Name '$SED')}
                                                  {(-n)}
                                                  {(-e)}
                                                  {(DQ ($ VSub_Name '$sed_extractcf'))}
                                                ]
                                                redirects: [
                                                  (Redir
                                                    op_id: Redir_Less
                                                    fd: -1
                                                    arg_word: {(DQ ($ VSub_Name '$progpath'))}
                                                    spids: [9712]
                                                  )
                                                ]
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [9701 9717]
                                      )
                                    }
                                  spids: [9700]
                                )
                              ]
                              spids: [9700]
                            )
                            (C {(eval)} {(DQ ($ VSub_Name '$extractedcf'))})
                          ]
                          spids: [-1 9672]
                        )
                      ]
                      else_action: [
                        (C {(func_error)} {(DQ ('ignoring unknown tag ') ($ VSub_Name '$tagname'))})
                      ]
                      spids: [9727 9738]
                    )
                  ]
                  spids: [9649 9650 9741 -1]
                )
              ]
              spids: [9636 9640 9744]
            )
          ]
          spids: [9552]
        )
      spids: [9547 9551]
    )
    (FuncDef
      name: func_check_version_match
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(DQ ($ VSub_Name '$package_revision'))} 
                          {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$macro_revision'))}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(DQ ($ VSub_Name '$VERSION'))} 
                                  {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$macro_version'))}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-z)} {(DQ ($ VSub_Name '$macro_version'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (SimpleCommand
                                      words: [{(cat)}]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_GreatAnd
                                          fd: -1
                                          arg_word: {(2)}
                                          spids: [9824]
                                        )
                                        (HereDoc
                                          op_id: Redir_DLess
                                          fd: -1
                                          body: 
                                            {
                                              (DQ ($ VSub_Name '$progname') 
                                                (': Version mismatch error.  This is ') ($ VSub_Name '$PACKAGE') (' ') ($ VSub_Name '$VERSION') (', but the\n') ($ VSub_Name '$progname') 
                                                (
': definition of this LT_INIT comes from an older release.\n'
                                                ) ($ VSub_Name '$progname') (': You should recreate aclocal.m4 with macros from ') 
                                                ($ VSub_Name '$PACKAGE') (' ') ($ VSub_Name '$VERSION') ('\n') ($ VSub_Name '$progname') (': and run autoconf again.\n')
                                              )
                                            }
                                          do_expansion: True
                                          here_end: _LT_EOF
                                          was_filled: True
                                          spids: [9827]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [-1 9819]
                                )
                              ]
                              else_action: [
                                (SimpleCommand
                                  words: [{(cat)}]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_GreatAnd
                                      fd: -1
                                      arg_word: {(2)}
                                      spids: [9853]
                                    )
                                    (HereDoc
                                      op_id: Redir_DLess
                                      fd: -1
                                      body: 
                                        {
                                          (DQ ($ VSub_Name '$progname') 
                                            (': Version mismatch error.  This is ') ($ VSub_Name '$PACKAGE') (' ') ($ VSub_Name '$VERSION') (', but the\n') ($ VSub_Name '$progname') 
                                            (': definition of this LT_INIT comes from ') ($ VSub_Name '$PACKAGE') (' ') ($ VSub_Name '$macro_version') ('.\n') ($ VSub_Name '$progname') 
                                            (': You should recreate aclocal.m4 with macros from ') ($ VSub_Name '$PACKAGE') (' ') ($ VSub_Name '$VERSION') ('\n') ($ VSub_Name '$progname') 
                                            (': and run autoconf again.\n')
                                          )
                                        }
                                      do_expansion: True
                                      here_end: _LT_EOF
                                      was_filled: True
                                      spids: [9856]
                                    )
                                  ]
                                )
                              ]
                              spids: [9848 9881]
                            )
                          ]
                          spids: [-1 9805]
                        )
                      ]
                      else_action: [
                        (SimpleCommand
                          words: [{(cat)}]
                          redirects: [
                            (Redir
                              op_id: Redir_GreatAnd
                              fd: -1
                              arg_word: {(2)}
                              spids: [9889]
                            )
                            (HereDoc
                              op_id: Redir_DLess
                              fd: -1
                              body: 
                                {
                                  (DQ ($ VSub_Name '$progname') 
                                    (': Version mismatch error.  This is ') ($ VSub_Name '$PACKAGE') (' ') ($ VSub_Name '$VERSION') (', revision ') ($ VSub_Name '$package_revision') 
                                    (',\n') ($ VSub_Name '$progname') (': but the definition of this LT_INIT comes from revision ') 
                                    ($ VSub_Name '$macro_revision') ('.\n') ($ VSub_Name '$progname') (': You should recreate aclocal.m4 with macros from revision ') 
                                    ($ VSub_Name '$package_revision') ('\n') ($ VSub_Name '$progname') (': of ') ($ VSub_Name '$PACKAGE') (' ') ($ VSub_Name '$VERSION') 
                                    (' and run autoconf again.\n')
                                  )
                                }
                              do_expansion: True
                              here_end: _LT_EOF
                              was_filled: True
                              spids: [9892]
                            )
                          ]
                        )
                      ]
                      spids: [9884 9919]
                    )
                    (C {(exit)} {($ VSub_Name '$EXIT_MISMATCH')})
                  ]
                  spids: [-1 9786]
                )
              ]
              spids: [-1 9928]
            )
          ]
          spids: [9767]
        )
      spids: [9762 9766]
    )
    (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:[9959])]
              spids: [9959]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:opt_dlopen) op:Equal rhs:{(SQ )} spids:[9963])]
              spids: [9963]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:opt_dry_run)
                  op: Equal
                  rhs: {(false)}
                  spids: [9966]
                )
              ]
              spids: [9966]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:opt_help) op:Equal rhs:{(false)} spids:[9970])]
              spids: [9970]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:opt_mode) op:Equal rhs:{(SQ )} spids:[9974])]
              spids: [9974]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:opt_preserve_dup_deps)
                  op: Equal
                  rhs: {(false)}
                  spids: [9977]
                )
              ]
              spids: [9977]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:opt_quiet) op:Equal rhs:{(false)} spids:[9981])]
              spids: [9981]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:nonopt) op:Equal rhs:{(SQ )} spids:[9986])]
              spids: [9986]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:preserve_args)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [9989]
                )
              ]
              spids: [9989]
            )
            (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: [10025 10031]
                            )
                          }
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (C {(shift)})
                  ]
                  spids: [10004 10011 10037 -1]
                )
                (case_arm
                  pat_list: [{(compile)} {(compil)} {(compi)} {(comp)} {(com)} {(co)} {(c)}]
                  action: [
                    (Sentence child:(C {(shift)}) terminator:<Op_Semi ';'>)
                    (Sentence
                      child: 
                        (C {(set)} {(dummy)} {(--mode)} {(compile)} 
                          {
                            (BracedVarSub
                              token: <VSub_Number 1>
                              suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                              spids: [10067 10073]
                            )
                          }
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (C {(shift)})
                  ]
                  spids: [10040 10053 10079 -1]
                )
                (case_arm
                  pat_list: [{(execute)} {(execut)} {(execu)} {(exec)} {(exe)} {(ex)} {(e)}]
                  action: [
                    (Sentence child:(C {(shift)}) terminator:<Op_Semi ';'>)
                    (Sentence
                      child: 
                        (C {(set)} {(dummy)} {(--mode)} {(execute)} 
                          {
                            (BracedVarSub
                              token: <VSub_Number 1>
                              suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                              spids: [10109 10115]
                            )
                          }
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (C {(shift)})
                  ]
                  spids: [10082 10095 10121 -1]
                )
                (case_arm
                  pat_list: [{(finish)} {(finis)} {(fini)} {(fin)} {(KW_Fi fi)} {(f)}]
                  action: [
                    (Sentence child:(C {(shift)}) terminator:<Op_Semi ';'>)
                    (Sentence
                      child: 
                        (C {(set)} {(dummy)} {(--mode)} {(finish)} 
                          {
                            (BracedVarSub
                              token: <VSub_Number 1>
                              suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                              spids: [10149 10155]
                            )
                          }
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (C {(shift)})
                  ]
                  spids: [10124 10135 10161 -1]
                )
                (case_arm
                  pat_list: [{(install)} {(instal)} {(insta)} {(inst)} {(ins)} {(KW_In in)} {(i)}]
                  action: [
                    (Sentence child:(C {(shift)}) terminator:<Op_Semi ';'>)
                    (Sentence
                      child: 
                        (C {(set)} {(dummy)} {(--mode)} {(install)} 
                          {
                            (BracedVarSub
                              token: <VSub_Number 1>
                              suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                              spids: [10191 10197]
                            )
                          }
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (C {(shift)})
                  ]
                  spids: [10164 10177 10203 -1]
                )
                (case_arm
                  pat_list: [{(link)} {(lin)} {(li)} {(l)}]
                  action: [
                    (Sentence child:(C {(shift)}) terminator:<Op_Semi ';'>)
                    (Sentence
                      child: 
                        (C {(set)} {(dummy)} {(--mode)} {(link)} 
                          {
                            (BracedVarSub
                              token: <VSub_Number 1>
                              suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                              spids: [10227 10233]
                            )
                          }
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (C {(shift)})
                  ]
                  spids: [10206 10213 10239 -1]
                )
                (case_arm
                  pat_list: [
                    {(uninstall)}
                    {(uninstal)}
                    {(uninsta)}
                    {(uninst)}
                    {(unins)}
                    {(unin)}
                    {(uni)}
                    {(un)}
                    {(u)}
                  ]
                  action: [
                    (Sentence child:(C {(shift)}) terminator:<Op_Semi ';'>)
                    (Sentence
                      child: 
                        (C {(set)} {(dummy)} {(--mode)} {(uninstall)} 
                          {
                            (BracedVarSub
                              token: <VSub_Number 1>
                              suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                              spids: [10273 10279]
                            )
                          }
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (C {(shift)})
                  ]
                  spids: [10242 10259 10285 -1]
                )
              ]
              spids: [9997 10001 10288]
            )
            (C {(func_quote_for_eval)} 
              {
                (BracedVarSub
                  token: <VSub_Number 1>
                  suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                  spids: [10298 10304]
                )
              }
            )
            (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: [10307]
                )
              ]
              spids: [10307]
            )
          ]
          spids: [9948]
        )
      spids: [9943 9947]
    )
    (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: [10363]
                        )
                      ]
                      spids: [10363]
                    )
                    (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: [10385]
                                )
                              ]
                              spids: [10385]
                            )
                          ]
                          spids: [10377 10382 10389 -1]
                        )
                        (case_arm
                          pat_list: [{(--config)}]
                          action: [(C {(func_config)})]
                          spids: [10393 10394 10398 -1]
                        )
                        (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: [10410 10415]
                                        ) ($ VSub_Number '$1')
                                      )
                                    }
                                  spids: [10408]
                                )
                              ]
                              spids: [10408]
                            )
                            (C {(shift)})
                          ]
                          spids: [10402 10405 10423 -1]
                        )
                        (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: [10431]
                                )
                              ]
                              spids: [10431]
                            )
                          ]
                          spids: [10427 10428 10434 -1]
                        )
                        (case_arm
                          pat_list: [{(--features)}]
                          action: [(C {(func_features)})]
                          spids: [10438 10439 10443 -1]
                        )
                        (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: [10458 10464]
                                    )
                                  }
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (C {(shift)})
                          ]
                          spids: [10447 10448 10469 -1]
                        )
                        (case_arm
                          pat_list: [{(--help)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:opt_help)
                                  op: Equal
                                  rhs: {(Lit_Other ':')}
                                  spids: [10476]
                                )
                              ]
                              spids: [10476]
                            )
                          ]
                          spids: [10473 10474 10479 -1]
                        )
                        (case_arm
                          pat_list: [{(--help-all)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:opt_help)
                                  op: Equal
                                  rhs: {(SQ <': help-all'>)}
                                  spids: [10486]
                                )
                              ]
                              spids: [10486]
                            )
                          ]
                          spids: [10483 10484 10491 -1]
                        )
                        (case_arm
                          pat_list: [{(--mode)}]
                          action: [
                            (AndOr
                              children: [
                                (C {(test)} {($ VSub_Pound '$#')} {(Lit_Other '=')} {(0)})
                                (AndOr
                                  children: [
                                    (C {(func_missing_arg)} {($ VSub_Name '$_G_opt')})
                                    (ControlFlow
                                      token: <ControlFlow_Break break>
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                              ]
                              op_id: Op_DAmp
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:opt_mode)
                                  op: Equal
                                  rhs: {($ VSub_Number '$1')}
                                  spids: [10517]
                                )
                              ]
                              spids: [10517]
                            )
                            (Case
                              to_match: {($ VSub_Number '$1')}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(clean)}
                                    {(compile)}
                                    {(execute)}
                                    {(finish)}
                                    {(install)}
                                    {(link)}
                                    {(relink)}
                                    {(uninstall)}
                                  ]
                                  spids: [10532 10547 10549 -1]
                                )
                                (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: {(exit)}
                                          spids: [10568]
                                        )
                                      ]
                                      spids: [10568]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Break break>
                                    )
                                  ]
                                  spids: [10557 10558 10575 -1]
                                )
                              ]
                              spids: [10521 10525 10578]
                            )
                            (C {(shift)})
                          ]
                          spids: [10495 10496 10584 -1]
                        )
                        (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: [10594]
                                )
                              ]
                              spids: [10594]
                            )
                            (C {(func_append)} {(preserve_args)} {(DQ (' ') ($ VSub_Name '$_G_opt'))})
                          ]
                          spids: [10588 10591 10608 -1]
                        )
                        (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: [10620]
                                )
                              ]
                              spids: [10620]
                            )
                            (C {(func_append)} {(preserve_args)} {(DQ (' ') ($ VSub_Name '$_G_opt'))})
                          ]
                          spids: [10612 10617 10634 -1]
                        )
                        (case_arm
                          pat_list: [{(--no-verbose)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:opt_verbose)
                                  op: Equal
                                  rhs: {(false)}
                                  spids: [10642]
                                )
                              ]
                              spids: [10642]
                            )
                            (C {(func_append)} {(preserve_args)} {(DQ (' ') ($ VSub_Name '$_G_opt'))})
                          ]
                          spids: [10638 10639 10656 -1]
                        )
                        (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: [10666]
                                )
                              ]
                              spids: [10666]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:opt_verbose)
                                  op: Equal
                                  rhs: {(false)}
                                  spids: [10670]
                                )
                              ]
                              spids: [10670]
                            )
                            (C {(func_append)} {(preserve_args)} {(DQ (' ') ($ VSub_Name '$_G_opt'))})
                          ]
                          spids: [10660 10663 10684 -1]
                        )
                        (case_arm
                          pat_list: [{(--tag)}]
                          action: [
                            (AndOr
                              children: [
                                (C {(test)} {($ VSub_Pound '$#')} {(Lit_Other '=')} {(0)})
                                (AndOr
                                  children: [
                                    (C {(func_missing_arg)} {($ VSub_Name '$_G_opt')})
                                    (ControlFlow
                                      token: <ControlFlow_Break break>
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                              ]
                              op_id: Op_DAmp
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:opt_tag)
                                  op: Equal
                                  rhs: {($ VSub_Number '$1')}
                                  spids: [10710]
                                )
                              ]
                              spids: [10710]
                            )
                            (C {(func_append)} {(preserve_args)} 
                              {(DQ (' ') ($ VSub_Name '$_G_opt') (' ') ($ VSub_Number '$1'))}
                            )
                            (C {(func_enable_tag)} {(DQ ($ VSub_Number '$1'))})
                            (C {(shift)})
                          ]
                          spids: [10688 10689 10736 -1]
                        )
                        (case_arm
                          pat_list: [{(--verbose)} {(-v)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:opt_quiet)
                                  op: Equal
                                  rhs: {(false)}
                                  spids: [10745]
                                )
                              ]
                              spids: [10745]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:opt_verbose)
                                  op: Equal
                                  rhs: {(Lit_Other ':')}
                                  spids: [10749]
                                )
                              ]
                              spids: [10749]
                            )
                            (C {(func_append)} {(preserve_args)} {(DQ (' ') ($ VSub_Name '$_G_opt'))})
                          ]
                          spids: [10740 10743 10763 -1]
                        )
                        (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: [10782 10788]
                                    )
                                  }
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (Sentence
                              child: (C {(shift)})
                              terminator: <Op_Semi ';'>
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [10771 10772 10796 -1]
                        )
                      ]
                      spids: [10370 10374 10799]
                    )
                  ]
                  spids: [10360 10802]
                )
            )
            (C {(func_quote_for_eval)} 
              {
                (BracedVarSub
                  token: <VSub_Number 1>
                  suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                  spids: [10813 10819]
                )
              }
            )
            (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: [10822]
                )
              ]
              spids: [10822]
            )
          ]
          spids: [10334]
        )
      spids: [10329 10333]
    )
    (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: [10874]
                        )
                      ]
                      spids: [10874]
                    )
                    (C {(shift)})
                  ]
                  spids: [-1 10871]
                )
              ]
              spids: [-1 10881]
            )
            (AndOr
              children: [
                (C {(test)} {(Lit_Other ':')} {(Lit_Other '=')} {(DQ ($ VSub_Name '$debug_cmd'))})
                (C {(func_append)} {(preserve_args)} {(DQ (' --debug'))})
              ]
              op_id: Op_DPipe
            )
            (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: [10966]
                        )
                      ]
                      spids: [10966]
                    )
                  ]
                  spids: [10926 10959 10970 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:opt_duplicate_compiler_generated_deps)
                          op: Equal
                          rhs: {($ VSub_Name '$opt_preserve_dup_deps')}
                          spids: [10977]
                        )
                      ]
                      spids: [10977]
                    )
                  ]
                  spids: [10973 10974 10981 -1]
                )
              ]
              spids: [10911 10915 10984]
            )
            (AndOr
              children: [
                (C {($ VSub_Name '$opt_help')})
                (BraceGroup
                  children: [
                    (C {(func_check_version_match)})
                    (AndOr
                      children: [
                        (C {(test)} {(yes)} {(KW_Bang '!') (Lit_Other '=')} 
                          {(DQ ($ VSub_Name '$build_libtool_libs'))}
                        )
                        (AndOr
                          children: [
                            (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'))}
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (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
                                  children: [
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$opt_dlopen'))})
                                    (C {(test)} {(execute)} {(KW_Bang '!') (Lit_Other '=')} 
                                      {(DQ ($ VSub_Name '$opt_mode'))}
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                              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: [11098]
                                )
                              ]
                            )
                            (C {(exit)} {($ VSub_Name '$EXIT_FAILURE')})
                          ]
                          spids: [-1 11082]
                        )
                      ]
                      spids: [-1 11107]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:generic_help)
                          op: Equal
                          rhs: {($ VSub_Name '$help')}
                          spids: [11115]
                        )
                      ]
                      spids: [11115]
                    )
                    (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: [11119]
                        )
                      ]
                      spids: [11119]
                    )
                  ]
                  spids: [10992]
                )
              ]
              op_id: Op_DPipe
            )
            (C {(func_quote_for_eval)} 
              {
                (BracedVarSub
                  token: <VSub_Number 1>
                  suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At '$@'))})
                  spids: [11139 11145]
                )
              }
            )
            (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: [11148]
                )
              ]
              spids: [11148]
            )
          ]
          spids: [10853]
        )
      spids: [10848 10852]
    )
    (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: [11169 11175]
        )
      }
    )
    (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: [11203]
        )
      ]
      spids: [11203]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:magic_exe)
          op: Equal
          rhs: {(SQ <'%%%MAGIC EXE variable%%%'>)}
          spids: [11208]
        )
      ]
      spids: [11208]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:extracted_archives) op:Equal rhs:{(SQ )} spids:[11217])]
      spids: [11217]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:extracted_serial) op:Equal rhs:{(0)} spids:[11219])]
      spids: [11219]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:exec_cmd) op:Equal rhs:{(SQ )} spids:[11232])]
      spids: [11232]
    )
    (FuncDef
      name: func_fallback_echo
      body: 
        (BraceGroup
          children: [(C {(eval)} {(SQ <'cat <<_LTECHO_EOF\n'> <'$1\n'> <_LTECHO_EOF>)})]
          spids: [11244]
        )
      spids: [11239 11243]
    )
    (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:-1 arg_word:{(/dev/null)} spids:[11282])
                (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[11286])
              ]
            )
          ]
          spids: [11272]
        )
      spids: [11267 11271]
    )
    (FuncDef
      name: func_lalib_p
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (C {(test)} {(-f)} {(DQ ($ VSub_Number '$1'))})
                (Pipeline
                  children: [
                    (SimpleCommand
                      words: [{($ VSub_Name '$SED')} {(-e)} {(4q)} {(DQ ($ VSub_Number '$1'))}]
                      redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[11333])]
                    )
                    (C {(func_generated_by_libtool_p)})
                  ]
                  negated: False
                )
              ]
              op_id: Op_DAmp
            )
          ]
          spids: [11309]
        )
      spids: [11304 11308]
    )
    (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:[11372])]
              spids: [11372]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(test)} {(-f)} {(DQ ($ VSub_Number '$1'))})
                            (AndOr
                              children: [
                                (C {(test)} {(-r)} {(DQ ($ VSub_Number '$1'))})
                                (SimpleCommand
                                  words: [{(exec)}]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_LessAnd
                                      fd: 5
                                      arg_word: {(0)}
                                      spids: [11400]
                                    )
                                    (Redir
                                      op_id: Redir_Less
                                      fd: -1
                                      arg_word: {(DQ ($ VSub_Number '$1'))}
                                      spids: [11403]
                                    )
                                  ]
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (ForEach
                      iter_name: lalib_p_l
                      iter_words: [{(1)} {(2)} {(3)} {(4)}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (C {(read)} {(lalib_p_line)})
                            (Case
                              to_match: {($ 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: [11454]
                                            )
                                          ]
                                          spids: [11454]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Break break>
                                    )
                                  ]
                                  spids: [11442 11452 11459 -1]
                                )
                              ]
                              spids: [11435 11439 11462]
                            )
                          ]
                          spids: [11427 11465]
                        )
                      spids: [11417 -1]
                    )
                    (SimpleCommand
                      words: [{(exec)}]
                      redirects: [
                        (Redir
                          op_id: Redir_LessAnd
                          fd: 0
                          arg_word: {(5)}
                          spids: [11470]
                        )
                        (Redir
                          op_id: Redir_LessAnd
                          fd: 5
                          arg_word: {(-)}
                          spids: [11473]
                        )
                      ]
                    )
                  ]
                  spids: [-1 11409]
                )
              ]
              spids: [-1 11477]
            )
            (C {(test)} {(yes)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$lalib_p'))})
          ]
          spids: [11369]
        )
      spids: [11364 11368]
    )
    (FuncDef
      name: func_ltwrapper_script_p
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (C {(test)} {(-f)} {(DQ ($ VSub_Number '$1'))})
                (Pipeline
                  children: [
                    (SimpleCommand
                      words: [{($ VSub_Name '$lt_truncate_bin')}]
                      redirects: [
                        (Redir
                          op_id: Redir_Less
                          fd: -1
                          arg_word: {(DQ ($ VSub_Number '$1'))}
                          spids: [11526]
                        )
                        (Redir
                          op_id: Redir_Great
                          fd: 2
                          arg_word: {(/dev/null)}
                          spids: [11532]
                        )
                      ]
                    )
                    (C {(func_generated_by_libtool_p)})
                  ]
                  negated: False
                )
              ]
              op_id: Op_DAmp
            )
          ]
          spids: [11510]
        )
      spids: [11505 11509]
    )
    (FuncDef
      name: func_ltwrapper_executable_p
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_ltwrapper_exec_suffix)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [11562]
                )
              ]
              spids: [11562]
            )
            (Case
              to_match: {($ VSub_Number '$1')}
              arms: [
                (case_arm
                  pat_list: [{(Lit_Other '*') (.exe)}]
                  spids: [11572 11574 11576 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:func_ltwrapper_exec_suffix)
                          op: Equal
                          rhs: {(.exe)}
                          spids: [11582]
                        )
                      ]
                      spids: [11582]
                    )
                  ]
                  spids: [11579 11580 11585 -1]
                )
              ]
              spids: [11565 11569 11588]
            )
            (SimpleCommand
              words: [
                {($ VSub_Name '$GREP')}
                {(DQ ($ VSub_Name '$magic_exe'))}
                {(DQ ($ VSub_Number '$1') ($ VSub_Name '$func_ltwrapper_exec_suffix'))}
              ]
              redirects: [
                (Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[11602])
                (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[11605])
              ]
            )
          ]
          spids: [11559]
        )
      spids: [11554 11558]
    )
    (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: [11659]
                )
              ]
              spids: [11659]
            )
          ]
          spids: [11628]
        )
      spids: [11623 11627]
    )
    (FuncDef
      name: func_ltwrapper_p
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (C {(func_ltwrapper_script_p)} {(DQ ($ VSub_Number '$1'))})
                (C {(func_ltwrapper_executable_p)} {(DQ ($ VSub_Number '$1'))})
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [11689]
        )
      spids: [11684 11688]
    )
    (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: [11734]
                    )
                  ]
                  spids: [11734]
                )
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{(SQ <'~'>)} spids:[11738])]
              spids: [11738]
            )
            (ForEach
              iter_name: cmd
              iter_words: [{($ VSub_Number '$1')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {($ VSub_Name '$sp') ($ VSub_Name '$nl')}
                          spids: [11756]
                        )
                      ]
                      spids: [11756]
                    )
                    (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: [11769]
                        )
                      ]
                      spids: [11769]
                    )
                    (C {(func_show_eval)} {(DQ ($ VSub_Name '$cmd'))} 
                      {
                        (DQ 
                          (BracedVarSub
                            token: <VSub_Number 2>
                            suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(':')})
                            spids: [11780 11784]
                          )
                        )
                      }
                    )
                  ]
                  spids: [11753 11788]
                )
              spids: [11749 11751]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:IFS)
                  op: Equal
                  rhs: {($ VSub_Name '$save_ifs')}
                  spids: [11791]
                )
              ]
              spids: [11791]
            )
          ]
          spids: [11727]
        )
      spids: [11722 11726]
    )
    (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: [11835 11844 11852 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [(C {(.)} {(DQ (./) ($ VSub_Number '$1'))})]
                  spids: [11855 11856 11865 -1]
                )
              ]
              spids: [11828 11832 11868]
            )
          ]
          spids: [11821]
        )
      spids: [11816 11820]
    )
    (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: [11891]
                )
              ]
              spids: [11891]
            )
            (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: [11921]
                        )
                      ]
                      spids: [11921]
                    )
                  ]
                  spids: [11902 11904 11926 -1]
                )
              ]
              spids: [11895 11899 11929]
            )
          ]
          spids: [11888]
        )
      spids: [11883 11887]
    )
    (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: [11984]
                        )
                      ]
                      spids: [11984]
                    )
                  ]
                  spids: [11960 11967 11991 -1]
                )
                (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: [12002]
                        )
                      ]
                      spids: [12002]
                    )
                  ]
                  spids: [11994 11995 12006 -1]
                )
              ]
              spids: [11951 11957 12009]
            )
          ]
          spids: [11948]
        )
      spids: [11943 11947]
    )
    (FuncDef
      name: func_infer_tag
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$available_tags'))})
                            (C {(test)} {(-z)} {(DQ ($ VSub_Name '$tagname'))})
                          ]
                          op_id: Op_DAmp
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:CC_quoted)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [12068]
                        )
                      ]
                      spids: [12068]
                    )
                    (ForEach
                      iter_name: arg
                      iter_words: [{($ VSub_Name '$CC')}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (C {(func_append_quoted)} {(CC_quoted)} {(DQ ($ VSub_Name '$arg'))})
                          ]
                          spids: [12080 12092]
                        )
                      spids: [12076 12078]
                    )
                    (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: [12096 12100]
                              )
                            }
                          spids: [12095]
                        )
                      ]
                      spids: [12095]
                    )
                    (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: [12104 12108]
                              )
                            }
                          spids: [12103]
                        )
                      ]
                      spids: [12103]
                    )
                    (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: [12127 12192 12194 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (ForEach
                              iter_name: z
                              iter_words: [{($ VSub_Name '$available_tags')}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (SimpleCommand
                                                  words: [
                                                    {($ VSub_Name '$GREP')}
                                                    {
                                                      (DQ ('^# ### BEGIN LIBTOOL TAG CONFIG: ') 
                                                        ($ VSub_Name '$z') (Lit_Other '$')
                                                      )
                                                    }
                                                  ]
                                                  redirects: [
                                                    (Redir
                                                      op_id: Redir_Less
                                                      fd: -1
                                                      arg_word: {(DQ ($ VSub_Name '$progpath'))}
                                                      spids: [12231]
                                                    )
                                                    (Redir
                                                      op_id: Redir_Great
                                                      fd: -1
                                                      arg_word: {(/dev/null)}
                                                      spids: [12237]
                                                    )
                                                  ]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(eval)} 
                                              {
                                                (DQ 
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (SimpleCommand
                                                            words: [
                                                              {($ VSub_Name '$SED')}
                                                              {(-n)}
                                                              {(-e)}
                                                              {
                                                                (SQ 
                                                                  <
'/^# ### BEGIN LIBTOOL TAG CONFIG: '
                                                                  >
                                                                ) ($ VSub_Name '$z') (SQ <'$/,/^# ### END LIBTOOL TAG CONFIG: '>) ($ VSub_Name '$z') (SQ <'$/p'>)
                                                              }
                                                            ]
                                                            redirects: [
                                                              (Redir
                                                                op_id: Redir_Less
                                                                fd: -1
                                                                arg_word: {($ VSub_Name '$progpath')}
                                                                spids: [12271]
                                                              )
                                                            ]
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick '`'>
                                                    spids: [12252 12274]
                                                  )
                                                )
                                              }
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:CC_quoted)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [12278]
                                                )
                                              ]
                                              spids: [12278]
                                            )
                                            (ForEach
                                              iter_name: arg
                                              iter_words: [{($ VSub_Name '$CC')}]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (C {(func_append_quoted)} {(CC_quoted)} 
                                                      {(DQ ($ VSub_Name '$arg'))}
                                                    )
                                                  ]
                                                  spids: [12290 12306]
                                                )
                                              spids: [12286 12288]
                                            )
                                            (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: [12310 12314]
                                                      )
                                                    }
                                                  spids: [12309]
                                                )
                                              ]
                                              spids: [12309]
                                            )
                                            (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: [12318 12322]
                                                      )
                                                    }
                                                  spids: [12317]
                                                )
                                              ]
                                              spids: [12317]
                                            )
                                            (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: [12416]
                                                        )
                                                      ]
                                                      spids: [12416]
                                                    )
                                                    (ControlFlow
                                                      token: <ControlFlow_Break break>
                                                    )
                                                  ]
                                                  spids: [12336 12401 12423 -1]
                                                )
                                              ]
                                              spids: [12325 12332 12426]
                                            )
                                          ]
                                          spids: [-1 12242]
                                        )
                                      ]
                                      spids: [-1 12429]
                                    )
                                  ]
                                  spids: [12218 12432]
                                )
                              spids: [12214 12216]
                            )
                            (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: [-1 12458]
                                )
                              ]
                              spids: [-1 12481]
                            )
                          ]
                          spids: [12205 12206 12484 -1]
                        )
                      ]
                      spids: [12111 12115 12487]
                    )
                  ]
                  spids: [-1 12065]
                )
              ]
              spids: [-1 12490]
            )
          ]
          spids: [12037]
        )
      spids: [12032 12036]
    )
    (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: [12514]
                )
              ]
              spids: [12514]
            )
            (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: [12534]
                        )
                      ]
                      spids: [12534]
                    )
                  ]
                  spids: [-1 12531]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:write_lobj)
                      op: Equal
                      rhs: {(none)}
                      spids: [12543]
                    )
                  ]
                  spids: [12543]
                )
              ]
              spids: [12540 12547]
            )
            (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: [12567]
                        )
                      ]
                      spids: [12567]
                    )
                  ]
                  spids: [-1 12564]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:write_oldobj)
                      op: Equal
                      rhs: {(none)}
                      spids: [12576]
                    )
                  ]
                  spids: [12576]
                )
              ]
              spids: [12573 12580]
            )
            (AndOr
              children: [
                (C {($ VSub_Name '$opt_dry_run')})
                (BraceGroup
                  children: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: -1
                          arg_word: {(${ VSub_Name write_libobj) (T)}
                          spids: [12593]
                        )
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ('# ') ($ VSub_Name '$write_libobj') (' - a libtool object file\n') 
                                ('# Generated by ') ($ VSub_Name '$PROGRAM') (' (GNU ') ($ VSub_Name '$PACKAGE') (') ') ($ VSub_Name '$VERSION') ('\n') ('#\n') 
                                ('# Please DO NOT delete this file!\n') ('# It is necessary for linking the library.\n') ('\n') ('# Name of the PIC object.\n') ('pic_object=') 
                                ($ VSub_Name '$write_lobj') ('\n') ('\n') ('# Name of the non-PIC object\n') ('non_pic_object=') ($ VSub_Name '$write_oldobj') ('\n') 
                                ('\n')
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [12599]
                        )
                      ]
                    )
                    (C {($ VSub_Name '$MV')} {(DQ (${ VSub_Name write_libobj) (T))} 
                      {(DQ ($ VSub_Name '$write_libobj'))}
                    )
                  ]
                  spids: [12588]
                )
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [12511]
        )
      spids: [12506 12510]
    )
    (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: [12697]
                )
              ]
              spids: [12697]
            )
            (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: [12745]
                                          )
                                        ]
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [12736 12747]
                              )
                            }
                          spids: [12735]
                        )
                      ]
                      spids: [12735]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (C {(test)} {(DQ ($ VSub_QMark '$?'))} {(-eq)} {(0)})
                                    (C {(test)} {(-n)} 
                                      {(DQ ($ VSub_Name '$func_convert_core_file_wine_to_w32_tmp'))}
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                              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: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [12777 12794]
                                      )
                                    }
                                  spids: [12776]
                                )
                              ]
                              spids: [12776]
                            )
                          ]
                          spids: [-1 12773]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:func_convert_core_file_wine_to_w32_result)
                              op: Equal
                              rhs: {(SQ )}
                              spids: [12800]
                            )
                          ]
                          spids: [12800]
                        )
                      ]
                      spids: [12797 12803]
                    )
                  ]
                  spids: [-1 12712]
                )
              ]
              spids: [-1 12806]
            )
          ]
          spids: [12690]
        )
      spids: [12685 12689]
    )
    (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: {(SQ )}
                  spids: [12861]
                )
              ]
              spids: [12861]
            )
            (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: [12878]
                        )
                      ]
                      spids: [12878]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {(Lit_Other ':')}
                          spids: [12882]
                        )
                      ]
                      spids: [12882]
                    )
                    (ForEach
                      iter_name: func_convert_core_path_wine_to_w32_f
                      iter_words: [{($ VSub_Number '$1')}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {($ VSub_Name '$oldIFS')}
                                  spids: [12898]
                                )
                              ]
                              spids: [12898]
                            )
                            (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: [12937]
                                                )
                                              ]
                                              spids: [12937]
                                            )
                                          ]
                                          spids: [-1 12934]
                                        )
                                      ]
                                      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: [12941 12954]
                                    )
                                  ]
                                  spids: [-1 12920]
                                )
                              ]
                              spids: [-1 12957]
                            )
                          ]
                          spids: [12895 12960]
                        )
                      spids: [12891 12893]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {($ VSub_Name '$oldIFS')}
                          spids: [12963]
                        )
                      ]
                      spids: [12963]
                    )
                  ]
                  spids: [-1 12875]
                )
              ]
              spids: [-1 12967]
            )
          ]
          spids: [12850]
        )
      spids: [12845 12849]
    )
    (FuncDef
      name: func_cygpath
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$LT_CYGPATH'))})
                            (C {(test)} {(-f)} {(DQ ($ VSub_Name '$LT_CYGPATH'))})
                          ]
                          op_id: Op_DAmp
                        )
                      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: [13065]
                                          )
                                        ]
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [13058 13067]
                              )
                            }
                          spids: [13057]
                        )
                      ]
                      spids: [13057]
                    )
                    (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: {(SQ )}
                                  spids: [13090]
                                )
                              ]
                              spids: [13090]
                            )
                          ]
                          spids: [-1 13083]
                        )
                      ]
                      spids: [-1 13093]
                    )
                  ]
                  spids: [-1 13054]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:func_cygpath_result)
                      op: Equal
                      rhs: {(SQ )}
                      spids: [13099]
                    )
                  ]
                  spids: [13099]
                )
                (C {(func_error)} 
                  {
                    (DQ ("LT_CYGPATH is empty or specifies non-existent file: '") 
                      ($ VSub_Name '$LT_CYGPATH') ("'")
                    )
                  }
                )
              ]
              spids: [13096 13111]
            )
          ]
          spids: [13026]
        )
      spids: [13021 13025]
    )
    (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: [13161]
                                      )
                                    ]
                                    spids: [13147 13159]
                                  )
                                  (C {($ VSub_Name '$SED')} {(-e)} {(SQ <'s/[ ]*$//'>)} {(-e)} 
                                    {(DQ ($ VSub_Name '$sed_naive_backslashify'))}
                                  )
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [13146 13180]
                      )
                    }
                  spids: [13145]
                )
              ]
              spids: [13145]
            )
          ]
          spids: [13134]
        )
      spids: [13129 13133]
    )
    (FuncDef
      name: func_convert_file_check
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(test)} {(-z)} {(DQ ($ VSub_Number '$2'))})
                            (C {(test)} {(-n)} {(DQ ($ VSub_Number '$1'))})
                          ]
                          op_id: Op_DAmp
                        )
                      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: [13264]
                        )
                      ]
                      spids: [13264]
                    )
                  ]
                  spids: [-1 13234]
                )
              ]
              spids: [-1 13268]
            )
          ]
          spids: [13206]
        )
      spids: [13201 13205]
    )
    (FuncDef
      name: func_convert_path_check
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(test)} {(-z)} {(DQ ($ VSub_Number '$4'))})
                            (C {(test)} {(-n)} {(DQ ($ VSub_Number '$3'))})
                          ]
                          op_id: Op_DAmp
                        )
                      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: [13377]
                                )
                              ]
                              spids: [13377]
                            )
                            (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: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [13388 13405]
                                      )
                                    }
                                  spids: [13387]
                                )
                              ]
                              spids: [13387]
                            )
                          ]
                          spids: [-1 13374]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:func_to_host_path_result)
                              op: Equal
                              rhs: {($ VSub_Number '$3')}
                              spids: [13411]
                            )
                          ]
                          spids: [13411]
                        )
                      ]
                      spids: [13408 13415]
                    )
                  ]
                  spids: [-1 13322]
                )
              ]
              spids: [-1 13418]
            )
          ]
          spids: [13294]
        )
      spids: [13289 13293]
    )
    (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: [13459]
                        )
                      ]
                      spids: [13459]
                    )
                  ]
                  spids: [13455 13457 13464 -1]
                )
              ]
              spids: [13448 13452 13467]
            )
            (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: [13477 13479 13490 -1]
                )
              ]
              spids: [13470 13474 13493]
            )
          ]
          spids: [13441]
        )
      spids: [13436 13440]
    )
    (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: [13539]
        )
      spids: [13534 13538]
    )
    (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: [13602]
                        )
                      ]
                      spids: [13602]
                    )
                  ]
                  spids: [13592 13599 13606 -1]
                )
                (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: [13620]
                        )
                      ]
                      spids: [13620]
                    )
                  ]
                  spids: [13609 13610 13624 -1]
                )
              ]
              spids: [13583 13589 13627]
            )
          ]
          spids: [13576]
        )
      spids: [13571 13575]
    )
    (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: [13650]
                )
              ]
              spids: [13650]
            )
          ]
          spids: [13647]
        )
      spids: [13642 13646]
    )
    (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: [13684]
                )
              ]
              spids: [13684]
            )
            (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: [13709]
                        )
                      ]
                      spids: [13709]
                    )
                  ]
                  spids: [-1 13699]
                )
              ]
              spids: [-1 13713]
            )
            (C {(func_convert_file_check)} {(DQ ($ VSub_Number '$1'))} 
              {(DQ ($ VSub_Name '$func_to_host_file_result'))}
            )
          ]
          spids: [13677]
        )
      spids: [13672 13676]
    )
    (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: [13754]
                )
              ]
              spids: [13754]
            )
            (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: [13781 13789]
                              )
                            }
                          spids: [13780]
                        )
                      ]
                      spids: [13780]
                    )
                  ]
                  spids: [-1 13769]
                )
              ]
              spids: [-1 13792]
            )
            (C {(func_convert_file_check)} {(DQ ($ VSub_Number '$1'))} 
              {(DQ ($ VSub_Name '$func_to_host_file_result'))}
            )
          ]
          spids: [13747]
        )
      spids: [13742 13746]
    )
    (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: [13833]
                )
              ]
              spids: [13833]
            )
            (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: [13858]
                        )
                      ]
                      spids: [13858]
                    )
                  ]
                  spids: [-1 13848]
                )
              ]
              spids: [-1 13862]
            )
            (C {(func_convert_file_check)} {(DQ ($ VSub_Number '$1'))} 
              {(DQ ($ VSub_Name '$func_to_host_file_result'))}
            )
          ]
          spids: [13826]
        )
      spids: [13821 13825]
    )
    (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: [13903]
                )
              ]
              spids: [13903]
            )
            (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: [13937]
                        )
                      ]
                      spids: [13937]
                    )
                  ]
                  spids: [-1 13918]
                )
              ]
              spids: [-1 13941]
            )
            (C {(func_convert_file_check)} {(DQ ($ VSub_Number '$1'))} 
              {(DQ ($ VSub_Name '$func_to_host_file_result'))}
            )
          ]
          spids: [13896]
        )
      spids: [13891 13895]
    )
    (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: [13985]
                )
              ]
              spids: [13985]
            )
            (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: [14023]
                        )
                      ]
                      spids: [14023]
                    )
                  ]
                  spids: [-1 14000]
                )
              ]
              spids: [-1 14027]
            )
            (C {(func_convert_file_check)} {(DQ ($ VSub_Number '$1'))} 
              {(DQ ($ VSub_Name '$func_to_host_file_result'))}
            )
          ]
          spids: [13978]
        )
      spids: [13973 13977]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:to_host_path_cmd) op:Equal rhs:{(SQ )} spids:[14115])]
      spids: [14115]
    )
    (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: [14157]
                        )
                      ]
                      spids: [14157]
                    )
                  ]
                  spids: [-1 14140]
                )
              ]
              spids: [-1 14162]
            )
          ]
          spids: [14122]
        )
      spids: [14117 14121]
    )
    (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: [14182]
        )
      spids: [14177 14181]
    )
    (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: [14219]
                )
              ]
              spids: [14219]
            )
          ]
          spids: [14216]
        )
      spids: [14211 14215]
    )
    (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: [14253]
                )
              ]
              spids: [14253]
            )
            (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: [14294]
                        )
                      ]
                      spids: [14294]
                    )
                    (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: [14305]
                        )
                      ]
                      spids: [14305]
                    )
                    (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: [-1 14268]
                )
              ]
              spids: [-1 14347]
            )
          ]
          spids: [14246]
        )
      spids: [14241 14245]
    )
    (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: [14377]
                )
              ]
              spids: [14377]
            )
            (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: [14410]
                        )
                      ]
                      spids: [14410]
                    )
                    (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: [14415 14425]
                              )
                            }
                          spids: [14414]
                        )
                      ]
                      spids: [14414]
                    )
                    (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: [-1 14392]
                )
              ]
              spids: [-1 14466]
            )
          ]
          spids: [14370]
        )
      spids: [14365 14369]
    )
    (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: [14496]
                )
              ]
              spids: [14496]
            )
            (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: [14529]
                        )
                      ]
                      spids: [14529]
                    )
                    (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: [14540]
                        )
                      ]
                      spids: [14540]
                    )
                    (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: [-1 14511]
                )
              ]
              spids: [-1 14582]
            )
          ]
          spids: [14489]
        )
      spids: [14484 14488]
    )
    (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: [14612]
                )
              ]
              spids: [14612]
            )
            (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: [14645]
                        )
                      ]
                      spids: [14645]
                    )
                    (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: [14667]
                        )
                      ]
                      spids: [14667]
                    )
                    (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: [-1 14627]
                )
              ]
              spids: [-1 14705]
            )
          ]
          spids: [14605]
        )
      spids: [14600 14604]
    )
    (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: [14738]
                )
              ]
              spids: [14738]
            )
            (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: [14779]
                        )
                      ]
                      spids: [14779]
                    )
                    (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: [14801]
                        )
                      ]
                      spids: [14801]
                    )
                    (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: [-1 14753]
                )
              ]
              spids: [-1 14839]
            )
          ]
          spids: [14731]
        )
      spids: [14726 14730]
    )
    (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: [14870 14910]
                      )
                    }
                  spids: [14869]
                )
              ]
              spids: [14869]
            )
            (C {(test)} {(DEF)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$func_dll_def_p_tmp'))})
          ]
          spids: [14862]
        )
      spids: [14857 14861]
    )
    (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: {(SQ )}
                  spids: [14946]
                )
              ]
              spids: [14946]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:srcfile)
                  op: Equal
                  rhs: {($ VSub_Name '$nonopt')}
                  spids: [14949]
                )
              ]
              spids: [14949]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:suppress_opt)
                  op: Equal
                  rhs: {(yes)}
                  spids: [14956]
                )
              ]
              spids: [14956]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:suppress_output)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [14960]
                )
              ]
              spids: [14960]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:arg_mode) op:Equal rhs:{(normal)} spids:[14963])]
              spids: [14963]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:libobj) op:Equal rhs:{(SQ )} spids:[14967])]
              spids: [14967]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:later) op:Equal rhs:{(SQ )} spids:[14970])]
              spids: [14970]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:pie_flag) op:Equal rhs:{(SQ )} spids:[14973])]
              spids: [14973]
            )
            (ForEach
              iter_name: arg
              do_arg_iter: True
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name '$arg_mode')}
                      arms: [
                        (case_arm
                          pat_list: [{(arg)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:lastarg)
                                  op: Equal
                                  rhs: {($ VSub_Name '$arg')}
                                  spids: [15001]
                                )
                              ]
                              spids: [15001]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg_mode)
                                  op: Equal
                                  rhs: {(normal)}
                                  spids: [15005]
                                )
                              ]
                              spids: [15005]
                            )
                          ]
                          spids: [14992 14994 15009 -1]
                        )
                        (case_arm
                          pat_list: [{(target)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libobj)
                                  op: Equal
                                  rhs: {($ VSub_Name '$arg')}
                                  spids: [15018]
                                )
                              ]
                              spids: [15018]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg_mode)
                                  op: Equal
                                  rhs: {(normal)}
                                  spids: [15022]
                                )
                              ]
                              spids: [15022]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [15013 15015 15029 -1]
                        )
                        (case_arm
                          pat_list: [{(normal)}]
                          action: [
                            (Case
                              to_match: {($ VSub_Name '$arg')}
                              arms: [
                                (case_arm
                                  pat_list: [{(-o)}]
                                  action: [
                                    (AndOr
                                      children: [
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$libobj'))})
                                        (C {(func_fatal_error)} 
                                          {(DQ ("you cannot specify '-o' more than once"))}
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:arg_mode)
                                          op: Equal
                                          rhs: {(target)}
                                          spids: [15072]
                                        )
                                      ]
                                      spids: [15072]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [15049 15050 15079 -1]
                                )
                                (case_arm
                                  pat_list: [{(-pie)} {(-fpie)} {(-fPIE)}]
                                  action: [
                                    (C {(func_append)} {(pie_flag)} {(DQ (' ') ($ VSub_Name '$arg'))})
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [15083 15092 15108 -1]
                                )
                                (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: [15112 15125 15141 -1]
                                )
                                (case_arm
                                  pat_list: [{(-no-suppress)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:suppress_opt)
                                          op: Equal
                                          rhs: {(no)}
                                          spids: [15149]
                                        )
                                      ]
                                      spids: [15149]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [15145 15146 15156 -1]
                                )
                                (case_arm
                                  pat_list: [{(-Xcompiler)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:arg_mode)
                                          op: Equal
                                          rhs: {(arg)}
                                          spids: [15164]
                                        )
                                      ]
                                      spids: [15164]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [15160 15161 15177 -1]
                                )
                                (case_arm
                                  pat_list: [{(-Wc) (Lit_Comma ',') (Lit_Other '*')}]
                                  action: [
                                    (C {(func_stripname)} {(SQ <'-Wc,'>)} {(SQ )} 
                                      {(DQ ($ VSub_Name '$arg'))}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:args)
                                          op: Equal
                                          rhs: {($ VSub_Name '$func_stripname_result')}
                                          spids: [15204]
                                        )
                                      ]
                                      spids: [15204]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:lastarg)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [15208]
                                        )
                                      ]
                                      spids: [15208]
                                    )
                                    (Sentence
                                      child: 
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:save_ifs)
                                              op: Equal
                                              rhs: {($ VSub_Name '$IFS')}
                                              spids: [15211]
                                            )
                                          ]
                                          spids: [15211]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {(Lit_Comma ',')}
                                          spids: [15215]
                                        )
                                      ]
                                      spids: [15215]
                                    )
                                    (ForEach
                                      iter_name: arg
                                      iter_words: [{($ VSub_Name '$args')}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:IFS)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$save_ifs')}
                                                  spids: [15231]
                                                )
                                              ]
                                              spids: [15231]
                                            )
                                            (C {(func_append_quoted)} {(lastarg)} 
                                              {(DQ ($ VSub_Name '$arg'))}
                                            )
                                          ]
                                          spids: [15228 15244]
                                        )
                                      spids: [15224 15226]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {($ VSub_Name '$save_ifs')}
                                          spids: [15247]
                                        )
                                      ]
                                      spids: [15247]
                                    )
                                    (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: [15265]
                                        )
                                      ]
                                      spids: [15265]
                                    )
                                    (C {(func_append)} {(base_compile)} 
                                      {(DQ (' ') ($ VSub_Name '$lastarg'))}
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [15184 15187 15287 -1]
                                )
                                (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: [15307]
                                        )
                                      ]
                                      spids: [15307]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:srcfile)
                                          op: Equal
                                          rhs: {($ VSub_Name '$arg')}
                                          spids: [15311]
                                        )
                                      ]
                                      spids: [15311]
                                    )
                                  ]
                                  spids: [15291 15292 15315 -1]
                                )
                              ]
                              spids: [15042 15046 15318]
                            )
                          ]
                          spids: [15033 15035 15324 -1]
                        )
                      ]
                      spids: [14985 14989 15327]
                    )
                    (C {(func_append_quoted)} {(base_compile)} {(DQ ($ VSub_Name '$lastarg'))})
                  ]
                  spids: [14982 15347]
                )
              spids: [-1 -1]
            )
            (Case
              to_match: {($ VSub_Name '$arg_mode')}
              arms: [
                (case_arm
                  pat_list: [{(arg)}]
                  action: [
                    (C {(func_fatal_error)} {(DQ ('you must specify an argument for -Xcompile'))})
                  ]
                  spids: [15361 15362 15372 -1]
                )
                (case_arm
                  pat_list: [{(target)}]
                  action: [(C {(func_fatal_error)} {(DQ ("you must specify a target with '-o'"))})]
                  spids: [15375 15376 15386 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (AndOr
                      children: [
                        (C {(test)} {(-z)} {(DQ ($ VSub_Name '$libobj'))})
                        (BraceGroup
                          children: [
                            (C {(func_basename)} {(DQ ($ VSub_Name '$srcfile'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libobj)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_basename_result')}
                                  spids: [15417]
                                )
                              ]
                              spids: [15417]
                            )
                          ]
                          spids: [15407]
                        )
                      ]
                      op_id: Op_DAmp
                    )
                  ]
                  spids: [15389 15390 15424 -1]
                )
              ]
              spids: [15354 15358 15427]
            )
            (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: [15566]
                        )
                      ]
                      spids: [15566]
                    )
                  ]
                  spids: [15446 15556 15570 -1]
                )
              ]
              spids: [15439 15443 15573]
            )
            (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: [15595]
                        )
                      ]
                      spids: [15595]
                    )
                  ]
                  spids: [15584 15586 15598 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (C {(func_fatal_error)} 
                      {
                        (DQ ("cannot determine name of library object from '") ($ VSub_Name '$libobj') 
                          ("'")
                        )
                      }
                    )
                  ]
                  spids: [15601 15602 15614 -1]
                )
              ]
              spids: [15577 15581 15617]
            )
            (C {(func_infer_tag)} {($ VSub_Name '$base_compile')})
            (ForEach
              iter_name: arg
              iter_words: [{($ VSub_Name '$later')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name '$arg')}
                      arms: [
                        (case_arm
                          pat_list: [{(-shared)}]
                          action: [
                            (AndOr
                              children: [
                                (C {(test)} {(yes)} {(Lit_Other '=')} 
                                  {(DQ ($ VSub_Name '$build_libtool_libs'))}
                                )
                                (C {(func_fatal_configuration)} {(DQ ('cannot build a shared library'))})
                              ]
                              op_id: Op_DPipe
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_old_libs)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [15671]
                                )
                              ]
                              spids: [15671]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [15646 15647 15678 -1]
                        )
                        (case_arm
                          pat_list: [{(-static)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_libtool_libs)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [15686]
                                )
                              ]
                              spids: [15686]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_old_libs)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [15690]
                                )
                              ]
                              spids: [15690]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [15682 15683 15697 -1]
                        )
                        (case_arm
                          pat_list: [{(-prefer-pic)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:pic_mode)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [15705]
                                )
                              ]
                              spids: [15705]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [15701 15702 15712 -1]
                        )
                        (case_arm
                          pat_list: [{(-prefer-non-pic)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:pic_mode)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [15720]
                                )
                              ]
                              spids: [15720]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [15716 15717 15727 -1]
                        )
                      ]
                      spids: [15639 15643 15730]
                    )
                  ]
                  spids: [15636 15733]
                )
              spids: [15632 15634]
            )
            (C {(func_quote_for_eval)} {(DQ ($ VSub_Name '$libobj'))})
            (AndOr
              children: [
                (C {(test)} {(DQ (X) ($ VSub_Name '$libobj'))} {(KW_Bang '!') (Lit_Other '=')} 
                  {(DQ (X) ($ VSub_Name '$func_quote_for_eval_result'))}
                )
                (AndOr
                  children: [
                    (Pipeline
                      children: [
                        (C {($ VSub_Name '$ECHO')} {(DQ (X) ($ VSub_Name '$libobj'))})
                        (C {($ VSub_Name '$GREP')} 
                          {(SQ <'[]~#^*{};<>?"'>) (DQ ("'")) (SQ <'\t &()|`$[]'>)}
                        )
                      ]
                      negated: False
                    )
                    (C {(func_warning)} 
                      {
                        (DQ ("libobj name '") ($ VSub_Name '$libobj') 
                          ("' may not contain shell special characters.")
                        )
                      }
                    )
                  ]
                  op_id: Op_DAmp
                )
              ]
              op_id: Op_DAmp
            )
            (C {(func_dirname_and_basename)} {(DQ ($ VSub_Name '$obj'))} {(DQ (/))} {(DQ )})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:objname)
                  op: Equal
                  rhs: {($ VSub_Name '$func_basename_result')}
                  spids: [15811]
                )
              ]
              spids: [15811]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:xdir)
                  op: Equal
                  rhs: {($ VSub_Name '$func_dirname_result')}
                  spids: [15815]
                )
              ]
              spids: [15815]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:lobj)
                  op: Equal
                  rhs: {($ VSub_Name '$xdir') ($ VSub_Name '$objdir') (/) ($ VSub_Name '$objname')}
                  spids: [15819]
                )
              ]
              spids: [15819]
            )
            (AndOr
              children: [
                (C {(test)} {(-z)} {(DQ ($ VSub_Name '$base_compile'))})
                (C {(func_fatal_help)} {(DQ ('you must specify a compilation command'))})
              ]
              op_id: Op_DAmp
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(test)} {(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: [15867]
                        )
                      ]
                      spids: [15867]
                    )
                  ]
                  spids: [-1 15864]
                )
              ]
              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: [15885]
                    )
                  ]
                  spids: [15885]
                )
              ]
              spids: [15882 15898]
            )
            (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: [15938]
                        )
                      ]
                      spids: [15938]
                    )
                  ]
                  spids: [15913 15935 15942 -1]
                )
              ]
              spids: [15906 15910 15945]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          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'))}
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:pic_mode)
                          op: Equal
                          rhs: {(default)}
                          spids: [15981]
                        )
                      ]
                      spids: [15981]
                    )
                  ]
                  spids: [-1 15974]
                )
              ]
              spids: [-1 15985]
            )
            (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: False
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [16014 16028]
                              ) (.) ($ VSub_Name '$objext')
                            }
                          spids: [16013]
                        )
                      ]
                      spids: [16013]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:lockfile)
                          op: Equal
                          rhs: {($ VSub_Name '$output_obj') (.lock)}
                          spids: [16033]
                        )
                      ]
                      spids: [16033]
                    )
                  ]
                  spids: [-1 16010]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:output_obj)
                      op: Equal
                      rhs: {(SQ )}
                      spids: [16041]
                    )
                  ]
                  spids: [16041]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:need_locks)
                      op: Equal
                      rhs: {(no)}
                      spids: [16044]
                    )
                  ]
                  spids: [16044]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:lockfile)
                      op: Equal
                      rhs: {(SQ )}
                      spids: [16048]
                    )
                  ]
                  spids: [16048]
                )
              ]
              spids: [16038 16051]
            )
            (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
                              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: [16095]
                                    )
                                  ]
                                )
                              ]
                              op_id: Op_DPipe
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      body: 
                        (DoGroup
                          children: [
                            (C {(func_echo)} 
                              {(DQ ('Waiting for ') ($ VSub_Name '$lockfile') (' to be removed'))}
                            )
                            (C {(sleep)} {(2)})
                          ]
                          spids: [16099 16116]
                        )
                    )
                  ]
                  spids: [-1 16076]
                )
                (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: [16161]
                                              )
                                            ]
                                          )
                                        ]
                                      )
                                    left_token: <Left_Backtick '`'>
                                    spids: [16156 16163]
                                  ) ('\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
                              children: [
                                (C {($ VSub_Name '$opt_dry_run')})
                                (C {($ VSub_Name '$RM')} {($ VSub_Name '$removelist')})
                              ]
                              op_id: Op_DPipe
                            )
                            (C {(exit)} {($ VSub_Name '$EXIT_FAILURE')})
                          ]
                          spids: [-1 16146]
                        )
                      ]
                      spids: [-1 16190]
                    )
                    (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: -1
                          arg_word: {(DQ ($ VSub_Name '$lockfile'))}
                          spids: [16209]
                        )
                      ]
                    )
                  ]
                  spids: [16119 16132]
                )
              ]
              spids: [-1 16216]
            )
            (AndOr
              children: [
                (C {($ VSub_Name '$opt_dry_run')})
                (C {($ VSub_Name '$RM')} {($ VSub_Name '$removelist')})
              ]
              op_id: Op_DPipe
            )
            (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: [16262]
                )
              ]
              spids: [16262]
            )
            (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: [16273]
                )
              ]
              spids: [16273]
            )
            (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: [16302]
                        )
                      ]
                      spids: [16302]
                    )
                    (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: [16324]
                                )
                              ]
                              spids: [16324]
                            )
                          ]
                          spids: [-1 16321]
                        )
                      ]
                      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: [16341]
                            )
                          ]
                          spids: [16341]
                        )
                      ]
                      spids: [16334 16349]
                    )
                    (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: [-1 16373]
                        )
                      ]
                      spids: [-1 16390]
                    )
                    (C {(func_show_eval_locale)} {(DQ ($ VSub_Name '$command'))} 
                      {(SQ <'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'>)}
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (C {(test)} {(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: [16432]
                                                      )
                                                    ]
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [16427 16434]
                                          )
                                        )
                                      } {(KW_Bang '!') (Lit_Other '=')} {(DQ (X) ($ VSub_Name '$srcfile'))}
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {($ VSub_Name '$ECHO')} 
                              {
                                (DQ ('*** ERROR, ') ($ VSub_Name '$lockfile') (' contains:\n') 
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (SimpleCommand
                                            words: [{(cat)} {($ VSub_Name '$lockfile')}]
                                            redirects: [
                                              (Redir
                                                op_id: Redir_Great
                                                fd: 2
                                                arg_word: {(/dev/null)}
                                                spids: [16461]
                                              )
                                            ]
                                          )
                                        ]
                                      )
                                    left_token: <Left_Backtick '`'>
                                    spids: [16456 16463]
                                  ) ('\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
                              children: [
                                (C {($ VSub_Name '$opt_dry_run')})
                                (C {($ VSub_Name '$RM')} {($ VSub_Name '$removelist')})
                              ]
                              op_id: Op_DPipe
                            )
                            (C {(exit)} {($ VSub_Name '$EXIT_FAILURE')})
                          ]
                          spids: [-1 16446]
                        )
                      ]
                      spids: [-1 16494]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$output_obj'))})
                                    (C {(test)} {(DQ (X) ($ VSub_Name '$output_obj'))} 
                                      {(KW_Bang '!') (Lit_Other '=')} {(DQ (X) ($ VSub_Name '$lobj'))}
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(func_show_eval)} {(SQ <'$MV "$output_obj" "$lobj"'>)} 
                              {(SQ <'error=$?; $opt_dry_run || $RM $removelist; exit $error'>)}
                            )
                          ]
                          spids: [-1 16530]
                        )
                      ]
                      spids: [-1 16546]
                    )
                    (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: [16570]
                                )
                              ]
                              spids: [16570]
                            )
                          ]
                          spids: [-1 16567]
                        )
                      ]
                      spids: [-1 16576]
                    )
                  ]
                  spids: [-1 16295]
                )
              ]
              spids: [-1 16579]
            )
            (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: [16624]
                                )
                              ]
                              spids: [16624]
                            )
                          ]
                          spids: [-1 16617]
                        )
                      ]
                      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: [16636]
                            )
                          ]
                          spids: [16636]
                        )
                      ]
                      spids: [16633 16646]
                    )
                    (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: [-1 16662]
                        )
                      ]
                      spids: [-1 16675]
                    )
                    (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
                                  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: [16730]
                                                      )
                                                    ]
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [16725 16732]
                                          )
                                        )
                                      } {(KW_Bang '!') (Lit_Other '=')} {(DQ (X) ($ VSub_Name '$srcfile'))}
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {($ VSub_Name '$ECHO')} 
                              {
                                (DQ ('*** ERROR, ') ($ VSub_Name '$lockfile') (' contains:\n') 
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (SimpleCommand
                                            words: [{(cat)} {($ VSub_Name '$lockfile')}]
                                            redirects: [
                                              (Redir
                                                op_id: Redir_Great
                                                fd: 2
                                                arg_word: {(/dev/null)}
                                                spids: [16759]
                                              )
                                            ]
                                          )
                                        ]
                                      )
                                    left_token: <Left_Backtick '`'>
                                    spids: [16754 16761]
                                  ) ('\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
                              children: [
                                (C {($ VSub_Name '$opt_dry_run')})
                                (C {($ VSub_Name '$RM')} {($ VSub_Name '$removelist')})
                              ]
                              op_id: Op_DPipe
                            )
                            (C {(exit)} {($ VSub_Name '$EXIT_FAILURE')})
                          ]
                          spids: [-1 16744]
                        )
                      ]
                      spids: [-1 16792]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$output_obj'))})
                                    (C {(test)} {(DQ (X) ($ VSub_Name '$output_obj'))} 
                                      {(KW_Bang '!') (Lit_Other '=')} {(DQ (X) ($ VSub_Name '$obj'))}
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(func_show_eval)} {(SQ <'$MV "$output_obj" "$obj"'>)} 
                              {(SQ <'error=$?; $opt_dry_run || $RM $removelist; exit $error'>)}
                            )
                          ]
                          spids: [-1 16828]
                        )
                      ]
                      spids: [-1 16844]
                    )
                  ]
                  spids: [-1 16600]
                )
              ]
              spids: [-1 16847]
            )
            (AndOr
              children: [
                (C {($ VSub_Name '$opt_dry_run')})
                (BraceGroup
                  children: [
                    (C {(func_write_libtool_object)} {(DQ ($ VSub_Name '$libobj'))} 
                      {(DQ ($ VSub_Name '$objdir') (/) ($ VSub_Name '$objname'))} {(DQ ($ VSub_Name '$objname'))}
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(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: [16897]
                                )
                              ]
                              spids: [16897]
                            )
                            (C {($ VSub_Name '$RM')} {(DQ ($ VSub_Name '$lockfile'))})
                          ]
                          spids: [-1 16894]
                        )
                      ]
                      spids: [-1 16908]
                    )
                  ]
                  spids: [16855]
                )
              ]
              op_id: Op_DPipe
            )
            (C {(exit)} {($ VSub_Name '$EXIT_SUCCESS')})
          ]
          spids: [14935]
        )
      spids: [14930 14934]
    )
    (AndOr
      children: [
        (C {($ VSub_Name '$opt_help')})
        (BraceGroup
          children: [
            (AndOr
              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: [16943 16949]
                    )
                  }
                )
              ]
              op_id: Op_DAmp
            )
          ]
          spids: [16926]
        )
      ]
      op_id: Op_DPipe
    )
    (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: [-1 16975 16989 -1]
                )
                (case_arm
                  pat_list: [{(clean)}]
                  action: [
                    (C {($ VSub_Name '$ECHO')} 
                      {
                        (DQ ('Usage: ') ($ VSub_Name '$progname') 
                          (' [OPTION]... --mode=clean RM [RM-OPTION]... FILE...\n') ('\n') ('Remove files from the build directory.\n') ('\n') 
                          (
'RM is the name of the program to use to delete files associated with each FILE\n'
                          ) ("(typically '/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: [16993 16994 17016 -1]
                )
                (case_arm
                  pat_list: [{(compile)}]
                  action: [
                    (C {($ VSub_Name '$ECHO')} 
                      {
                        (DQ ('Usage: ') ($ VSub_Name '$progname') 
                          (' [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE\n') ('\n') ('Compile a source file into a libtool library object.\n') ('\n') 
                          ('This mode accepts the following additional options:\n') ('\n') ('  -o OUTPUT-FILE    set the output file name to OUTPUT-FILE\n') 
                          (
'  -no-suppress      do not suppress compiler output for multiple passes\n'
                          ) ('  -prefer-pic       try to 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: [17020 17021 17053 -1]
                )
                (case_arm
                  pat_list: [{(execute)}]
                  action: [
                    (C {($ VSub_Name '$ECHO')} 
                      {
                        (DQ ('Usage: ') ($ VSub_Name '$progname') 
                          (' [OPTION]... --mode=execute COMMAND [ARGS]...\n') ('\n') ('Automatically set library path, then run a program.\n') ('\n') 
                          ('This mode accepts the following additional options:\n') ('\n') ('  -dlopen FILE      add the directory containing FILE to the library path\n') ('\n') 
                          (
"This mode sets the library path environment variable according to '-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: [17057 17058 17086 -1]
                )
                (case_arm
                  pat_list: [{(finish)}]
                  action: [
                    (C {($ VSub_Name '$ECHO')} 
                      {
                        (DQ ('Usage: ') ($ VSub_Name '$progname') 
                          (' [OPTION]... --mode=finish [LIBDIR]...\n') ('\n') ('Complete the installation of libtool libraries.\n') ('\n') 
                          ('Each LIBDIR is a directory that contains libtool libraries.\n') ('\n') ('The commands that this mode executes may require superuser privileges.  Use\n') 
                          (
"the '--dry-run' option if you just want to see what would be executed."
                          )
                        )
                      }
                    )
                  ]
                  spids: [17090 17091 17111 -1]
                )
                (case_arm
                  pat_list: [{(install)}]
                  action: [
                    (C {($ VSub_Name '$ECHO')} 
                      {
                        (DQ ('Usage: ') ($ VSub_Name '$progname') 
                          (' [OPTION]... --mode=install INSTALL-COMMAND...\n') ('\n') ('Install executables or libraries.\n') ('\n') 
                          (
'INSTALL-COMMAND is the installation command.  The first component should be\n'
                          ) ("either the '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: [17115 17116 17141 -1]
                )
                (case_arm
                  pat_list: [{(link)}]
                  action: [
                    (C {($ VSub_Name '$ECHO')} 
                      {
                        (DQ ('Usage: ') ($ VSub_Name '$progname') 
                          (' [OPTION]... --mode=link LINK-COMMAND...\n') ('\n') ('Link object files or libraries together to form another library, or to\n') 
                          ('create an executable program.\n') ('\n') ('LINK-COMMAND is a command using the C compiler that you would use to create\n') 
                          ('a program from several object files.\n') ('\n') ('The following components of LINK-COMMAND are treated specially:\n') ('\n') 
                          ('  -all-static       do not do any dynamic linking at all\n') ('  -avoid-version    do not add a version suffix if possible\n') 
                          (
'  -bindir BINDIR    specify path to binaries directory (for systems where\n'
                          ) ('                    libraries must be found in the PATH setting at runtime)\n') 
                          (
"  -dlopen FILE      '-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: [17145 17146 17224 -1]
                )
                (case_arm
                  pat_list: [{(uninstall)}]
                  action: [
                    (C {($ VSub_Name '$ECHO')} 
                      {
                        (DQ ('Usage: ') ($ VSub_Name '$progname') 
                          (' [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...\n') ('\n') ('Remove libraries from an installation directory.\n') ('\n') 
                          (
'RM is the name of the program to use to delete files associated with each FILE\n'
                          ) ("(typically '/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: [17228 17229 17251 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (C {(func_fatal_help)} 
                      {(DQ ("invalid operation mode '") ($ VSub_Name '$opt_mode') ("'"))}
                    )
                  ]
                  spids: [17255 17256 17268 -1]
                )
              ]
              spids: [16966 16970 17271]
            )
            (C {(echo)})
            (C {($ VSub_Name '$ECHO')} 
              {
                (DQ ("Try '") ($ VSub_Name '$progname') 
                  (" --help' for more information about other modes.")
                )
              }
            )
          ]
          spids: [16959]
        )
      spids: [16954 16958]
    )
    (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: [-1 17313]
                )
              ]
              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: False
                          body: (DoGroup children:[(C {(func_mode_help)})] spids:[1735117357])
                          spids: [17335 17349]
                        )
                      ]
                      spids: [17322]
                    )
                    (C {($ VSub_Name '$SED')} {(-n)} {(SQ <'1p; 2,$s/^Usage:/  or: /p'>)})
                  ]
                  negated: False
                )
                (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: False
                          body: 
                            (DoGroup
                              children: [(C {(echo)}) (C {(func_mode_help)})]
                              spids: [17402 17411]
                            )
                          spids: [17386 17400]
                        )
                      ]
                      spids: [17373]
                    )
                    (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: False
                )
              ]
              spids: [17319 17434]
            )
            (C {(exit)} {($ VSub_QMark '$?')})
          ]
          spids: [-1 17297]
        )
      ]
      spids: [-1 17441]
    )
    (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: [17464]
                )
              ]
              spids: [17464]
            )
            (AndOr
              children: [
                (C {(test)} {(-z)} {(DQ ($ VSub_Name '$cmd'))})
                (C {(func_fatal_help)} {(DQ ('you must specify a COMMAND'))})
              ]
              op_id: Op_DAmp
            )
            (ForEach
              iter_name: file
              iter_words: [{($ VSub_Name '$opt_dlopen')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (AndOr
                      children: [
                        (C {(test)} {(-f)} {(DQ ($ VSub_Name '$file'))})
                        (C {(func_fatal_help)} {(DQ ("'") ($ VSub_Name '$file') ("' is not a file"))})
                      ]
                      op_id: Op_DPipe
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:dir) op:Equal rhs:{(SQ )} spids:[17526])]
                      spids: [17526]
                    )
                    (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: [17548]
                                )
                              ]
                              spids: [17548]
                            )
                            (AndOr
                              children: [
                                (C {(func_lalib_unsafe_p)} {(DQ ($ VSub_Name '$file'))})
                                (C {(func_fatal_help)} 
                                  {
                                    (DQ ("'") ($ VSub_Name '$lib') ("' is not a valid libtool archive"))
                                  }
                                )
                              ]
                              op_id: Op_DPipe
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dlname)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [17581]
                                )
                              ]
                              spids: [17581]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:library_names)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [17584]
                                )
                              ]
                              spids: [17584]
                            )
                            (C {(func_source)} {(DQ ($ VSub_Name '$file'))})
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-z)} {(DQ ($ VSub_Name '$dlname'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (AndOr
                                      children: [
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$library_names'))})
                                        (C {(func_warning)} 
                                          {
                                            (DQ ("'") ($ VSub_Name '$file') 
                                              ("' was not linked with '-export-dynamic'")
                                            )
                                          }
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [-1 17610]
                                )
                              ]
                              spids: [-1 17641]
                            )
                            (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: [17659]
                                )
                              ]
                              spids: [17659]
                            )
                            (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: [-1 17679]
                                )
                              ]
                              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: [-1 17710]
                                    )
                                  ]
                                  spids: [-1 17728]
                                )
                              ]
                              spids: [17692 17731]
                            )
                          ]
                          spids: [17536 17538 17734 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.lo)}]
                          action: [
                            (C {(func_dirname)} {(DQ ($ VSub_Name '$file'))} {(DQ )} {(DQ (.))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dir)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_dirname_result')}
                                  spids: [17761]
                                )
                              ]
                              spids: [17761]
                            )
                          ]
                          spids: [17738 17740 17765 -1]
                        )
                        (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: [17769 17770 17783 -1]
                        )
                      ]
                      spids: [17529 17533 17786]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:absdir)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (AndOr
                                        children: [(C {(cd)} {(DQ ($ VSub_Name '$dir'))}) (C {(pwd)})]
                                        op_id: Op_DAmp
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [17795 17805]
                              )
                            }
                          spids: [17794]
                        )
                      ]
                      spids: [17794]
                    )
                    (AndOr
                      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: [17818]
                            )
                          ]
                          spids: [17818]
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (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: [-1 17840]
                        )
                      ]
                      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: [17855 17872]
                    )
                  ]
                  spids: [17501 17875]
                )
              spids: [17497 17499]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libtool_execute_magic)
                  op: Equal
                  rhs: {($ VSub_Name '$magic')}
                  spids: [17887]
                )
              ]
              spids: [17887]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:args) op:Equal rhs:{(SQ )} spids:[17896])]
              spids: [17896]
            )
            (ForEach
              iter_name: file
              do_arg_iter: True
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name '$file')}
                      arms: [
                        (case_arm
                          pat_list: [
                            {(-) (Lit_Other '*')}
                            {(Lit_Other '*') (.la)}
                            {(Lit_Other '*') (.lo)}
                          ]
                          spids: [17914 17927 17929 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(func_ltwrapper_script_p)} {(DQ ($ VSub_Name '$file'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_source)} {(DQ ($ VSub_Name '$file'))})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:file)
                                          op: Equal
                                          rhs: {($ VSub_Name '$progdir') (/) ($ VSub_Name '$program')}
                                          spids: [17963]
                                        )
                                      ]
                                      spids: [17963]
                                    )
                                  ]
                                  spids: [-1 17949]
                                )
                                (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: [17999]
                                        )
                                      ]
                                      spids: [17999]
                                    )
                                  ]
                                  spids: [17969 17978]
                                )
                              ]
                              spids: [-1 18005]
                            )
                          ]
                          spids: [17932 17933 18008 -1]
                        )
                      ]
                      spids: [17907 17911 18011]
                    )
                    (C {(func_append_quoted)} {(args)} {(DQ ($ VSub_Name '$file'))})
                  ]
                  spids: [17904 18027]
                )
              spids: [-1 -1]
            )
            (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: [-1 18054]
                        )
                      ]
                      spids: [-1 18079]
                    )
                    (C {($ VSub_Name '$ECHO')} {(DQ ($ VSub_Name '$cmd') ($ VSub_Name '$args'))})
                    (C {(exit)} {($ VSub_Name '$EXIT_SUCCESS')})
                  ]
                  spids: [-1 18036]
                )
              ]
              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: [-1 18109]
                    )
                  ]
                  spids: [-1 18124]
                )
                (ForEach
                  iter_name: lt_var
                  iter_words: [{(LANG)} {(LANGUAGE)} {(LC_ALL)} {(LC_CTYPE)} {(LC_COLLATE)} {(LC_MESSAGES)}]
                  do_arg_iter: False
                  body: 
                    (DoGroup
                      children: [
                        (C {(eval)} 
                          {
                            (DQ ('if test ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar '\\$'>
                              ) ('{save_') ($ VSub_Name '$lt_var') ('+set}') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                              (' = set; then\n') ('                ') ($ VSub_Name '$lt_var') ('=') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                              (save_) ($ VSub_Name '$lt_var') ('; export ') ($ VSub_Name '$lt_var') ('\n') ('\t      else\n') ('\t\t') 
                              ($ VSub_Name '$lt_unset') (' ') ($ VSub_Name '$lt_var') ('\n') ('\t      fi')
                            )
                          }
                        )
                      ]
                      spids: [18151 18184]
                    )
                  spids: [18137 -1]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:exec_cmd)
                      op: Equal
                      rhs: 
                        {(EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (cmd) 
                          ($ VSub_Name '$args')
                        }
                      spids: [18192]
                    )
                  ]
                  spids: [18192]
                )
              ]
              spids: [18095 18198]
            )
          ]
          spids: [17453]
        )
      spids: [17448 17452]
    )
    (AndOr
      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: [18217 18223]
            )
          }
        )
      ]
      op_id: Op_DAmp
    )
    (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:{(SQ )} spids:[18242])]
              spids: [18242]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:libdirs) op:Equal rhs:{(SQ )} spids:[18245])]
              spids: [18245]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:admincmds) op:Equal rhs:{(SQ )} spids:[18248])]
              spids: [18248]
            )
            (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: [18262 18268]
                  )
                }
              ]
              do_arg_iter: False
              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: [-1 18285]
                        )
                        (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: [-1 18322]
                                )
                              ]
                              else_action: [
                                (C {(func_warning)} 
                                  {
                                    (DQ ("'") ($ VSub_Name '$opt') ("' is not a valid libtool archive"))
                                  }
                                )
                              ]
                              spids: [18335 18347]
                            )
                          ]
                          spids: [18299 18310]
                        )
                      ]
                      else_action: [
                        (C {(func_fatal_error)} {(DQ ("invalid argument '") ($ VSub_Name '$opt') ("'"))})
                      ]
                      spids: [18351 18363]
                    )
                  ]
                  spids: [18271 18366]
                )
              spids: [18257 -1]
            )
            (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: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [18399 18413]
                                      )
                                    }
                                  spids: [18398]
                                )
                              ]
                              spids: [18398]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:sysroot_cmd)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ (s/) (EscapedLiteralPart token:<Lit_EscapedChar '\\('>) 
                                        ("[ ']") (EscapedLiteralPart token:<Lit_EscapedChar '\\)'>) ($ VSub_Name '$sysroot_regex') (/) 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\1'>
                                        ) ('/g;')
                                      )
                                    }
                                  spids: [18416]
                                )
                              ]
                              spids: [18416]
                            )
                          ]
                          spids: [-1 18395]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:sysroot_cmd)
                              op: Equal
                              rhs: {(SQ )}
                              spids: [18432]
                            )
                          ]
                          spids: [18432]
                        )
                      ]
                      spids: [18429 18435]
                    )
                    (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: False
                              body: 
                                (DoGroup
                                  children: [
                                    (C {(echo)} 
                                      {
                                        (DQ ('removing references to ') ($ VSub_Name '$lt_sysroot') 
                                          (" and '=' prefixes from ") ($ VSub_Name '$lib')
                                        )
                                      }
                                    )
                                  ]
                                  spids: [18460 18473]
                                )
                              spids: [18456 18458]
                            )
                          ]
                          spids: [-1 18448]
                        )
                      ]
                      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: [18480 18482]
                                  )
                                }
                              spids: [18479]
                            )
                          ]
                          spids: [18479]
                        )
                        (ForEach
                          iter_name: lib
                          iter_words: [{($ VSub_Name '$libs')}]
                          do_arg_iter: False
                          body: 
                            (DoGroup
                              children: [
                                (SimpleCommand
                                  words: [
                                    {($ VSub_Name '$SED')}
                                    {(-e)}
                                    {
                                      (DQ ($ VSub_Name '$sysroot_cmd') (' s/') 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\('>
                                        ) ("[ ']-[LR]") (EscapedLiteralPart token:<Lit_EscapedChar '\\)'>) ('=/') 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\1'>
                                        ) ('/g; s/') (EscapedLiteralPart token:<Lit_EscapedChar '\\('>) ("[ ']") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\)'>
                                        ) ('=/') (EscapedLiteralPart token:<Lit_EscapedChar '\\1'>) (/g)
                                      )
                                    }
                                    {($ VSub_Name '$lib')}
                                  ]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: -1
                                      arg_word: {($ VSub_Name '$tmpdir') (/tmp-la)}
                                      spids: [18522]
                                    )
                                  ]
                                )
                                (C {(mv)} {(-f)} {($ VSub_Name '$tmpdir') (/tmp-la)} 
                                  {($ VSub_Name '$lib')}
                                )
                              ]
                              spids: [18494 18538]
                            )
                          spids: [18490 18492]
                        )
                        (C {(${ VSub_Name RM) (r)} {(DQ ($ VSub_Name '$tmpdir'))})
                      ]
                      spids: [18476 18551]
                    )
                  ]
                  spids: [-1 18381]
                )
              ]
              spids: [-1 18554]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(test)} {(-n)} 
                              {(DQ ($ VSub_Name '$finish_cmds') ($ VSub_Name '$finish_eval'))}
                            )
                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$libdirs'))})
                          ]
                          op_id: Op_DAmp
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (ForEach
                      iter_name: libdir
                      iter_words: [{($ VSub_Name '$libdirs')}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$finish_cmds'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name '$finish_cmds'))} 
                                      {(SQ <'admincmds="$admincmds\n'>) (DQ ($ VSub_Name '$cmd')) 
                                        (SQ <'"'>)
                                      }
                                    )
                                  ]
                                  spids: [-1 18606]
                                )
                              ]
                              spids: [-1 18630]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$finish_eval'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(eval)} 
                                      {(Lit_VarLike 'cmds=') 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\"'>
                                        ) ($ VSub_Name '$finish_eval') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                      }
                                    )
                                    (AndOr
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (AndOr
                                          children: [
                                            (C {(eval)} {(DQ ($ VSub_Name '$cmds'))})
                                            (C {(func_append)} {(admincmds)} 
                                              {(DQ ('\n') ('       ') ($ VSub_Name '$cmds'))}
                                            )
                                          ]
                                          op_id: Op_DPipe
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                  ]
                                  spids: [-1 18644]
                                )
                              ]
                              spids: [-1 18682]
                            )
                          ]
                          spids: [18592 18685]
                        )
                      spids: [18588 18590]
                    )
                  ]
                  spids: [-1 18580]
                )
              ]
              spids: [-1 18688]
            )
            (AndOr
              children: [(C {($ VSub_Name '$opt_quiet')}) (C {(exit)} {($ VSub_Name '$EXIT_SUCCESS')})]
              op_id: Op_DAmp
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(test)} {(-n)} 
                              {(DQ ($ VSub_Name '$finish_cmds') ($ VSub_Name '$finish_eval'))}
                            )
                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$libdirs'))})
                          ]
                          op_id: Op_DAmp
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} 
                      {(DQ (----------------------------------------------------------------------))}
                    )
                    (C {(echo)} {(DQ ('Libraries have been installed in:'))})
                    (ForEach
                      iter_name: libdir
                      iter_words: [{($ VSub_Name '$libdirs')}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [(C {($ VSub_Name '$ECHO')} {(DQ ('   ') ($ VSub_Name '$libdir'))})]
                          spids: [18754 18765]
                        )
                      spids: [18750 18752]
                    )
                    (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: [-1 18810]
                        )
                      ]
                      spids: [-1 18829]
                    )
                    (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: [-1 18843]
                        )
                      ]
                      spids: [-1 18862]
                    )
                    (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: [18879]
                                )
                              ]
                              spids: [18879]
                            )
                            (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: [-1 18876]
                        )
                      ]
                      spids: [-1 18901]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$admincmds'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {($ VSub_Name '$ECHO')} 
                              {
                                (DQ ('   - have your system administrator run these commands:') 
                                  ($ VSub_Name '$admincmds')
                                )
                              }
                            )
                          ]
                          spids: [-1 18915]
                        )
                      ]
                      spids: [-1 18926]
                    )
                    (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: [-1 18938]
                        )
                      ]
                      spids: [-1 18948]
                    )
                    (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: [18969 18978 18995 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (C {(echo)} 
                              {
                                (DQ 
                                  (
'more information, such as the ld(1) and ld.so(8) manual pages.'
                                  )
                                )
                              }
                            )
                          ]
                          spids: [18998 18999 19009 -1]
                        )
                      ]
                      spids: [18962 18966 19012]
                    )
                    (C {(echo)} 
                      {(DQ (----------------------------------------------------------------------))}
                    )
                  ]
                  spids: [-1 18728]
                )
              ]
              spids: [-1 19022]
            )
            (C {(exit)} {($ VSub_Name '$EXIT_SUCCESS')})
          ]
          spids: [18235]
        )
      spids: [18230 18234]
    )
    (AndOr
      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: [19046 19052]
            )
          }
        )
      ]
      op_id: Op_DAmp
    )
    (FuncDef
      name: func_mode_install
      body: 
        (BraceGroup
          children: [
            (C {($ VSub_Name '$debug_cmd')})
            (If
              arms: [
                (if_arm
                  cond: [
                    (AndOr
                      children: [
                        (C {(test)} {(DQ ($ VSub_Name '$SHELL'))} {(Lit_Other '=')} 
                          {(DQ ($ VSub_Name '$nonopt'))}
                        )
                        (AndOr
                          children: [
                            (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: [19118 19121 19124 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [(C {(false)})]
                                  spids: [19126 19127 19130 -1]
                                )
                              ]
                              spids: [19112 19116 19132]
                            )
                          ]
                          op_id: Op_DPipe
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  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: [19149]
                        )
                      ]
                      spids: [19149]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:arg)
                          op: Equal
                          rhs: {($ VSub_Number '$1')}
                          spids: [19156]
                        )
                      ]
                      spids: [19156]
                    )
                    (C {(shift)})
                  ]
                  spids: [-1 19135]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:install_prog)
                      op: Equal
                      rhs: {(SQ )}
                      spids: [19166]
                    )
                  ]
                  spids: [19166]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:arg)
                      op: Equal
                      rhs: {($ VSub_Name '$nonopt')}
                      spids: [19169]
                    )
                  ]
                  spids: [19169]
                )
              ]
              spids: [19163 19173]
            )
            (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: [19201]
                )
              ]
              spids: [19201]
            )
            (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: [19227]
                        )
                      ]
                      spids: [19227]
                    )
                  ]
                  spids: [19216 19225 19230 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:install_cp)
                          op: Equal
                          rhs: {(false)}
                          spids: [19236]
                        )
                      ]
                      spids: [19236]
                    )
                  ]
                  spids: [19233 19234 19239 -1]
                )
              ]
              spids: [19205 19213 19242]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:dest) op:Equal rhs:{(SQ )} spids:[19250])]
              spids: [19250]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:files) op:Equal rhs:{(SQ )} spids:[19253])]
              spids: [19253]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:opts) op:Equal rhs:{(SQ )} spids:[19256])]
              spids: [19256]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:prev) op:Equal rhs:{(SQ )} spids:[19259])]
              spids: [19259]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:install_type)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [19262]
                )
              ]
              spids: [19262]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:isdir) op:Equal rhs:{(false)} spids:[19265])]
              spids: [19265]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:stripme) op:Equal rhs:{(SQ )} spids:[19269])]
              spids: [19269]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:no_mode)
                  op: Equal
                  rhs: {(Lit_Other ':')}
                  spids: [19272]
                )
              ]
              spids: [19272]
            )
            (ForEach
              iter_name: arg
              do_arg_iter: True
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:arg2)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [19284]
                        )
                      ]
                      spids: [19284]
                    )
                    (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: [19311]
                                )
                              ]
                              spids: [19311]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [-1 19298]
                        )
                      ]
                      spids: [-1 19318]
                    )
                    (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: [19332]
                                )
                              ]
                              spids: [19332]
                            )
                          ]
                          spids: [19329 19330 19335 -1]
                        )
                        (case_arm
                          pat_list: [{(-f)}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {($ VSub_Name '$install_cp')})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Sentence
                                      child: (C {(Lit_Other ':')})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  spids: [-1 19347]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:prev)
                                      op: Equal
                                      rhs: {($ VSub_Name '$arg')}
                                      spids: [19355]
                                    )
                                  ]
                                  spids: [19355]
                                )
                              ]
                              spids: [19352 19359]
                            )
                          ]
                          spids: [19338 19339 19362 -1]
                        )
                        (case_arm
                          pat_list: [{(-g)} {(-m)} {(-o)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {($ VSub_Name '$arg')}
                                  spids: [19377]
                                )
                              ]
                              spids: [19377]
                            )
                          ]
                          spids: [19365 19374 19381 -1]
                        )
                        (case_arm
                          pat_list: [{(-s)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:stripme)
                                  op: Equal
                                  rhs: {(DQ (' -s'))}
                                  spids: [19388]
                                )
                              ]
                              spids: [19388]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [19384 19385 19397 -1]
                        )
                        (case_arm
                          pat_list: [{(-) (Lit_Other '*')}]
                          spids: [19400 19402 19405 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$prev'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(X-m)} {(Lit_Other '=')} 
                                                      {(DQ (X) ($ VSub_Name '$prev'))}
                                                    )
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$install_override_mode'))}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:arg2)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$install_override_mode')}
                                                  spids: [19457]
                                                )
                                              ]
                                              spids: [19457]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:no_mode)
                                                  op: Equal
                                                  rhs: {(false)}
                                                  spids: [19461]
                                                )
                                              ]
                                              spids: [19461]
                                            )
                                          ]
                                          spids: [-1 19454]
                                        )
                                      ]
                                      spids: [-1 19465]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [19468]
                                        )
                                      ]
                                      spids: [19468]
                                    )
                                  ]
                                  spids: [-1 19427]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:dest)
                                      op: Equal
                                      rhs: {($ VSub_Name '$arg')}
                                      spids: [19474]
                                    )
                                  ]
                                  spids: [19474]
                                )
                                (ControlFlow
                                  token: <ControlFlow_Continue continue>
                                )
                              ]
                              spids: [19471 19481]
                            )
                          ]
                          spids: [19408 19409 19484 -1]
                        )
                      ]
                      spids: [19322 19326 19487]
                    )
                    (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: [-1 19523]
                        )
                      ]
                      spids: [-1 19533]
                    )
                    (C {(func_append)} {(install_shared_prog)} 
                      {(DQ (' ') ($ VSub_Name '$func_quote_for_eval_result'))}
                    )
                  ]
                  spids: [19281 19546]
                )
              spids: [-1 -1]
            )
            (AndOr
              children: [
                (C {(test)} {(-z)} {(DQ ($ VSub_Name '$install_prog'))})
                (C {(func_fatal_help)} {(DQ ('you must specify an install program'))})
              ]
              op_id: Op_DAmp
            )
            (AndOr
              children: [
                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$prev'))})
                (C {(func_fatal_help)} 
                  {(DQ ("the '") ($ VSub_Name '$prev') ("' option requires an argument"))}
                )
              ]
              op_id: Op_DAmp
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$install_override_mode'))})
                            (C {($ VSub_Name '$no_mode')})
                          ]
                          op_id: Op_DAmp
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {($ VSub_Name '$install_cp')})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
                          spids: [-1 19615]
                        )
                      ]
                      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: [19620 19640]
                    )
                  ]
                  spids: [-1 19607]
                )
              ]
              spids: [-1 19643]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-z)} {(DQ ($ VSub_Name '$files'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-z)} {(DQ ($ VSub_Name '$dest'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(func_fatal_help)} {(DQ ('no file or destination specified'))})]
                          spids: [-1 19672]
                        )
                      ]
                      else_action: [(C {(func_fatal_help)} {(DQ ('you must specify a destination'))})]
                      spids: [19682 19692]
                    )
                  ]
                  spids: [-1 19658]
                )
              ]
              spids: [-1 19695]
            )
            (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: [19717]
                )
              ]
              spids: [19717]
            )
            (AndOr
              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: [19736]
                    )
                  ]
                  spids: [19736]
                )
              ]
              op_id: Op_DAmp
            )
            (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: [19748]
                        )
                      ]
                      spids: [19748]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:destname)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [19752]
                        )
                      ]
                      spids: [19752]
                    )
                  ]
                  spids: [-1 19745]
                )
              ]
              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: [19772]
                    )
                  ]
                  spids: [19772]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:destname)
                      op: Equal
                      rhs: {($ VSub_Name '$func_basename_result')}
                      spids: [19776]
                    )
                  ]
                  spids: [19776]
                )
                (Sentence
                  child: (C {(set)} {(dummy)} {($ VSub_Name '$files')})
                  terminator: <Op_Semi ';'>
                )
                (C {(shift)})
                (AndOr
                  children: [
                    (C {(test)} {(DQ ($ VSub_Pound '$#'))} {(-gt)} {(1)})
                    (C {(func_fatal_help)} {(DQ ("'") ($ VSub_Name '$dest') ("' is not a directory"))})
                  ]
                  op_id: Op_DAmp
                )
              ]
              spids: [19755 19818]
            )
            (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: [19828 19845 19847 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (ForEach
                      iter_name: file
                      iter_words: [{($ VSub_Name '$files')}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Case
                              to_match: {($ VSub_Name '$file')}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (.lo)}]
                                  spids: [19873 19875 19877 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(func_fatal_help)} 
                                      {
                                        (DQ ("'") ($ VSub_Name '$destdir') 
                                          ("' must be an absolute directory name")
                                        )
                                      }
                                    )
                                  ]
                                  spids: [19880 19881 19893 -1]
                                )
                              ]
                              spids: [19866 19870 19896]
                            )
                          ]
                          spids: [19863 19899]
                        )
                      spids: [19859 19861]
                    )
                  ]
                  spids: [19850 19851 19902 -1]
                )
              ]
              spids: [19821 19825 19905]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libtool_install_magic)
                  op: Equal
                  rhs: {($ VSub_Name '$magic')}
                  spids: [19917]
                )
              ]
              spids: [19917]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:staticlibs) op:Equal rhs:{(SQ )} spids:[19922])]
              spids: [19922]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:future_libdirs)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [19925]
                )
              ]
              spids: [19925]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:current_libdirs)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [19928]
                )
              ]
              spids: [19928]
            )
            (ForEach
              iter_name: file
              iter_words: [{($ VSub_Name '$files')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name '$file')}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.) ($ VSub_Name '$libext')}]
                          action: [(C {(func_append)} {(staticlibs)} {(DQ (' ') ($ VSub_Name '$file'))})]
                          spids: [19955 19958 19975 -1]
                        )
                        (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: [19991]
                                )
                              ]
                              spids: [19991]
                            )
                            (AndOr
                              children: [
                                (C {(func_lalib_unsafe_p)} {(DQ ($ VSub_Name '$file'))})
                                (C {(func_fatal_help)} 
                                  {
                                    (DQ ("'") ($ VSub_Name '$file') 
                                      ("' is not a valid libtool archive")
                                    )
                                  }
                                )
                              ]
                              op_id: Op_DPipe
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:library_names)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [20020]
                                )
                              ]
                              spids: [20020]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:old_library)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [20023]
                                )
                              ]
                              spids: [20023]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:relink_command)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [20026]
                                )
                              ]
                              spids: [20026]
                            )
                            (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: [20071 20078 20080 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_append)} {(current_libdirs)} 
                                              {(DQ (' ') ($ VSub_Name '$libdir'))}
                                            )
                                          ]
                                          spids: [20083 20084 20095 -1]
                                        )
                                      ]
                                      spids: [20061 20068 20098]
                                    )
                                  ]
                                  spids: [-1 20058]
                                )
                              ]
                              else_action: [
                                (Case
                                  to_match: {(DQ ($ VSub_Name '$future_libdirs') (' '))}
                                  arms: [
                                    (case_arm
                                      pat_list: [
                                        {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$libdir') (' ')) 
                                          (Lit_Other '*')
                                        }
                                      ]
                                      spids: [20118 20125 20127 -1]
                                    )
                                    (case_arm
                                      pat_list: [{(Lit_Other '*')}]
                                      action: [
                                        (C {(func_append)} {(future_libdirs)} 
                                          {(DQ (' ') ($ VSub_Name '$libdir'))}
                                        )
                                      ]
                                      spids: [20130 20131 20142 -1]
                                    )
                                  ]
                                  spids: [20108 20115 20145]
                                )
                              ]
                              spids: [20101 20148]
                            )
                            (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: [20166]
                                )
                              ]
                              spids: [20166]
                            )
                            (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: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [20199 20218]
                                              )
                                            }
                                          spids: [20198]
                                        )
                                      ]
                                      spids: [20198]
                                    )
                                    (AndOr
                                      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')
                                            )
                                          }
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-n)} 
                                                  {(DQ ($ VSub_Name '$inst_prefix_dir'))}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:relink_command)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [
                                                              (Pipeline
                                                                children: [
                                                                  (C {($ VSub_Name '$ECHO')} 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$relink_command'
                                                                        )
                                                                      )
                                                                    }
                                                                  )
                                                                  (C {($ VSub_Name '$SED')} 
                                                                    {
                                                                      (DQ 
                                                                        (
's%@inst_prefix_dir@%-inst-prefix-dir '
                                                                        ) ($ VSub_Name '$inst_prefix_dir') ('%')
                                                                      )
                                                                    }
                                                                  )
                                                                ]
                                                                negated: False
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick '`'>
                                                        spids: [20292 20308]
                                                      )
                                                    }
                                                  spids: [20291]
                                                )
                                              ]
                                              spids: [20291]
                                            )
                                          ]
                                          spids: [-1 20284]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:relink_command)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (Pipeline
                                                            children: [
                                                              (C {($ VSub_Name '$ECHO')} 
                                                                {
                                                                  (DQ ($ VSub_Name '$relink_command'))
                                                                }
                                                              )
                                                              (C {($ VSub_Name '$SED')} 
                                                                {(DQ ('s%@inst_prefix_dir@%%'))}
                                                              )
                                                            ]
                                                            negated: False
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick '`'>
                                                    spids: [20315 20329]
                                                  )
                                                }
                                              spids: [20314]
                                            )
                                          ]
                                          spids: [20314]
                                        )
                                      ]
                                      spids: [20311 20332]
                                    )
                                    (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: [-1 20191]
                                )
                              ]
                              spids: [-1 20366]
                            )
                            (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: [20398]
                                        )
                                      ]
                                      spids: [20398]
                                    )
                                    (C {(shift)})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:srcname)
                                          op: Equal
                                          rhs: {($ VSub_Name '$realname')}
                                          spids: [20406]
                                        )
                                      ]
                                      spids: [20406]
                                    )
                                    (AndOr
                                      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: [20420]
                                            )
                                          ]
                                          spids: [20420]
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                    (C {(func_show_eval)} 
                                      {
                                        (DQ ($ VSub_Name '$install_shared_prog') (' ') 
                                          ($ VSub_Name '$dir') (/) ($ VSub_Name '$srcname') (' ') ($ VSub_Name '$destdir') (/) ($ VSub_Name '$realname')
                                        )
                                      } {(SQ <'exit $?'>)}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tstripme)
                                          op: Equal
                                          rhs: {($ VSub_Name '$stripme')}
                                          spids: [20453]
                                        )
                                      ]
                                      spids: [20453]
                                    )
                                    (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: {(SQ )}
                                                          spids: [20496]
                                                        )
                                                      ]
                                                      spids: [20496]
                                                    )
                                                  ]
                                                  spids: [20491 20493 20499 -1]
                                                )
                                              ]
                                              spids: [20484 20488 20502]
                                            )
                                          ]
                                          spids: [20464 20481 20505 -1]
                                        )
                                        (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: {(SQ )}
                                                          spids: [20525]
                                                        )
                                                      ]
                                                      spids: [20525]
                                                    )
                                                  ]
                                                  spids: [20520 20522 20528 -1]
                                                )
                                              ]
                                              spids: [20513 20517 20531]
                                            )
                                          ]
                                          spids: [20508 20510 20534 -1]
                                        )
                                      ]
                                      spids: [20457 20461 20537]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$tstripme'))})
                                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$striplib'))})
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_show_eval)} 
                                              {
                                                (DQ ($ VSub_Name '$striplib') (' ') 
                                                  ($ VSub_Name '$destdir') (/) ($ VSub_Name '$realname')
                                                )
                                              } {(SQ <'exit $?'>)}
                                            )
                                          ]
                                          spids: [-1 20561]
                                        )
                                      ]
                                      spids: [-1 20579]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Pound '$#'))} {(-gt)} {(0)})
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (ForEach
                                              iter_name: linkname
                                              do_arg_iter: True
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (AndOr
                                                      children: [
                                                        (C {(test)} {(DQ ($ VSub_Name '$linkname'))} 
                                                          {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$realname'))}
                                                        )
                                                        (C {(func_show_eval)} 
                                                          {
                                                            (DQ ('(cd ') ($ VSub_Name '$destdir') 
                                                              (' && { ') ($ VSub_Name '$LN_S') (' -f ') ($ VSub_Name '$realname') (' ') ($ VSub_Name '$linkname') (' || { ') 
                                                              ($ VSub_Name '$RM') (' ') ($ VSub_Name '$linkname') (' && ') ($ VSub_Name '$LN_S') (' ') ($ VSub_Name '$realname') (' ') 
                                                              ($ VSub_Name '$linkname') ('; }; })')
                                                            )
                                                          }
                                                        )
                                                      ]
                                                      op_id: Op_DAmp
                                                    )
                                                  ]
                                                  spids: [20620 20665]
                                                )
                                              spids: [-1 -1]
                                            )
                                          ]
                                          spids: [-1 20596]
                                        )
                                      ]
                                      spids: [-1 20668]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:lib)
                                          op: Equal
                                          rhs: 
                                            {($ VSub_Name '$destdir') (/) ($ VSub_Name '$realname')}
                                          spids: [20676]
                                        )
                                      ]
                                      spids: [20676]
                                    )
                                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name '$postinstall_cmds'))} 
                                      {(SQ <'exit $?'>)}
                                    )
                                  ]
                                  spids: [-1 20395]
                                )
                              ]
                              spids: [-1 20693]
                            )
                            (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: [20708]
                                )
                              ]
                              spids: [20708]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:instname)
                                  op: Equal
                                  rhs: {($ VSub_Name '$dir') (/) (${ VSub_Name name) (i)}
                                  spids: [20712]
                                )
                              ]
                              spids: [20712]
                            )
                            (C {(func_show_eval)} 
                              {
                                (DQ ($ VSub_Name '$install_prog') (' ') ($ VSub_Name '$instname') (' ') 
                                  ($ VSub_Name '$destdir') (/) ($ VSub_Name '$name')
                                )
                              } {(SQ <'exit $?'>)}
                            )
                            (AndOr
                              children: [
                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$old_library'))})
                                (C {(func_append)} {(staticlibs)} 
                                  {(DQ (' ') ($ VSub_Name '$dir') (/) ($ VSub_Name '$old_library'))}
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          spids: [19979 19981 20765 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.lo)}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$destname'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:destfile)
                                          op: Equal
                                          rhs: 
                                            {($ VSub_Name '$destdir') (/) ($ VSub_Name '$destname')}
                                          spids: [20797]
                                        )
                                      ]
                                      spids: [20797]
                                    )
                                  ]
                                  spids: [-1 20794]
                                )
                              ]
                              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: [20813]
                                    )
                                  ]
                                  spids: [20813]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:destfile)
                                      op: Equal
                                      rhs: {($ VSub_Name '$destdir') (/) ($ VSub_Name '$destfile')}
                                      spids: [20817]
                                    )
                                  ]
                                  spids: [20817]
                                )
                              ]
                              spids: [20803 20823]
                            )
                            (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: [20850]
                                        )
                                      ]
                                      spids: [20850]
                                    )
                                  ]
                                  spids: [20838 20840 20854 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (.) ($ VSub_Name '$objext')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:staticdest)
                                          op: Equal
                                          rhs: {($ VSub_Name '$destfile')}
                                          spids: [20863]
                                        )
                                      ]
                                      spids: [20863]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:destfile)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [20867]
                                        )
                                      ]
                                      spids: [20867]
                                    )
                                  ]
                                  spids: [20857 20860 20870 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(func_fatal_help)} 
                                      {
                                        (DQ ("cannot copy a libtool object to '") 
                                          ($ VSub_Name '$destfile') ("'")
                                        )
                                      }
                                    )
                                  ]
                                  spids: [20873 20874 20886 -1]
                                )
                              ]
                              spids: [20831 20835 20889]
                            )
                            (AndOr
                              children: [
                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$destfile'))})
                                (C {(func_show_eval)} 
                                  {
                                    (DQ ($ VSub_Name '$install_prog') (' ') ($ VSub_Name '$file') (' ') 
                                      ($ VSub_Name '$destfile')
                                    )
                                  } {(SQ <'exit $?'>)}
                                )
                              ]
                              op_id: Op_DAmp
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(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: [20956]
                                        )
                                      ]
                                      spids: [20956]
                                    )
                                    (C {(func_show_eval)} 
                                      {
                                        (DQ ($ VSub_Name '$install_prog') (' ') 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\$'>
                                          ) ('staticobj ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (staticdest)
                                        )
                                      } {(SQ <'exit $?'>)}
                                    )
                                  ]
                                  spids: [-1 20942]
                                )
                              ]
                              spids: [-1 20976]
                            )
                            (C {(exit)} {($ VSub_Name '$EXIT_SUCCESS')})
                          ]
                          spids: [20769 20771 20984 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$destname'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:destfile)
                                          op: Equal
                                          rhs: 
                                            {($ VSub_Name '$destdir') (/) ($ VSub_Name '$destname')}
                                          spids: [21010]
                                        )
                                      ]
                                      spids: [21010]
                                    )
                                  ]
                                  spids: [-1 21007]
                                )
                              ]
                              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: [21026]
                                    )
                                  ]
                                  spids: [21026]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:destfile)
                                      op: Equal
                                      rhs: {($ VSub_Name '$destdir') (/) ($ VSub_Name '$destfile')}
                                      spids: [21030]
                                    )
                                  ]
                                  spids: [21030]
                                )
                              ]
                              spids: [21016 21036]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:stripped_ext)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [21052]
                                )
                              ]
                              spids: [21052]
                            )
                            (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: [21097]
                                                )
                                              ]
                                              spids: [21097]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:stripped_ext)
                                                  op: Equal
                                                  rhs: {(.exe)}
                                                  spids: [21101]
                                                )
                                              ]
                                              spids: [21101]
                                            )
                                          ]
                                          spids: [-1 21080]
                                        )
                                      ]
                                      spids: [-1 21105]
                                    )
                                  ]
                                  spids: [21062 21064 21108 -1]
                                )
                              ]
                              spids: [21055 21059 21111]
                            )
                            (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: [21157]
                                                )
                                              ]
                                              spids: [21157]
                                            )
                                          ]
                                          spids: [-1 21147]
                                        )
                                      ]
                                      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: [21178]
                                            )
                                          ]
                                          spids: [21178]
                                        )
                                      ]
                                      spids: [21161 21182]
                                    )
                                  ]
                                  spids: [21126 21135 21185 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:wrapper)
                                          op: Equal
                                          rhs: {($ VSub_Name '$file')}
                                          spids: [21192]
                                        )
                                      ]
                                      spids: [21192]
                                    )
                                  ]
                                  spids: [21188 21189 21196 -1]
                                )
                              ]
                              spids: [21119 21123 21199]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(func_ltwrapper_script_p)} {(DQ ($ VSub_Name '$wrapper'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:notinst_deplibs)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [21214]
                                        )
                                      ]
                                      spids: [21214]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:relink_command)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [21217]
                                        )
                                      ]
                                      spids: [21217]
                                    )
                                    (C {(func_source)} {(DQ ($ VSub_Name '$wrapper'))})
                                    (AndOr
                                      children: [
                                        (C {(test)} {(-z)} 
                                          {(DQ ($ VSub_Name '$generated_by_libtool_version'))}
                                        )
                                        (C {(func_fatal_error)} 
                                          {
                                            (DQ ("invalid libtool wrapper script '") 
                                              ($ VSub_Name '$wrapper') ("'")
                                            )
                                          }
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:finalize)
                                          op: Equal
                                          rhs: {(Lit_Other ':')}
                                          spids: [21255]
                                        )
                                      ]
                                      spids: [21255]
                                    )
                                    (ForEach
                                      iter_name: lib
                                      iter_words: [{($ VSub_Name '$notinst_deplibs')}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:libdir)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [21275]
                                                )
                                              ]
                                              spids: [21275]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-f)} {(DQ ($ VSub_Name '$lib'))})
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_source)} {(DQ ($ VSub_Name '$lib'))})
                                                  ]
                                                  spids: [-1 21289]
                                                )
                                              ]
                                              spids: [-1 21299]
                                            )
                                            (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: False
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick '`'>
                                                        spids: [21305 21319]
                                                      )
                                                    }
                                                  spids: [21302]
                                                )
                                              ]
                                              spids: [21302]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (AndOr
                                                          children: [
                                                            (C {(test)} {(-n)} 
                                                              {(DQ ($ VSub_Name '$libdir'))}
                                                            )
                                                            (C {(test)} {(KW_Bang '!')} {(-f)} 
                                                              {(DQ ($ VSub_Name '$libfile'))}
                                                            )
                                                          ]
                                                          op_id: Op_DAmp
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_warning)} 
                                                      {
                                                        (DQ ("'") ($ 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: [21359]
                                                        )
                                                      ]
                                                      spids: [21359]
                                                    )
                                                  ]
                                                  spids: [-1 21345]
                                                )
                                              ]
                                              spids: [-1 21363]
                                            )
                                          ]
                                          spids: [21268 21366]
                                        )
                                      spids: [21264 21266]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:relink_command)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [21370]
                                        )
                                      ]
                                      spids: [21370]
                                    )
                                    (C {(func_source)} {(DQ ($ VSub_Name '$wrapper'))})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:outputname)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [21381]
                                        )
                                      ]
                                      spids: [21381]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(no)} {(Lit_Other '=')} 
                                                      {(DQ ($ VSub_Name '$fast_install'))}
                                                    )
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$relink_command'))}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (AndOr
                                              children: [
                                                (C {($ VSub_Name '$opt_dry_run')})
                                                (BraceGroup
                                                  children: [
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: (C {($ 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: [21426 21428]
                                                                      )
                                                                    }
                                                                  spids: [21425]
                                                                )
                                                              ]
                                                              spids: [21425]
                                                            )
                                                            (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: [21439]
                                                                )
                                                              ]
                                                              spids: [21439]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:outputname)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {($ VSub_Name '$tmpdir') (/) 
                                                                      ($ VSub_Name '$file')
                                                                    }
                                                                  spids: [21443]
                                                                )
                                                              ]
                                                              spids: [21443]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:relink_command)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (CommandSubPart
                                                                        command_list: 
                                                                          (CommandList
                                                                            children: [
                                                                              (Pipeline
                                                                                children: [
                                                                                  (C 
                                                                                    {
                                                                                      ($ VSub_Name 
'$ECHO'
                                                                                      )
                                                                                    } {(DQ ($ VSub_Name '$relink_command'))}
                                                                                  )
                                                                                  (C 
                                                                                    {
                                                                                      ($ VSub_Name 
'$SED'
                                                                                      )
                                                                                    } {(SQ <'s%@OUTPUT@%'>) (DQ ($ VSub_Name '$outputname')) (SQ <'%g'>)}
                                                                                  )
                                                                                ]
                                                                                negated: False
                                                                              )
                                                                            ]
                                                                          )
                                                                        left_token: 
                                                                          <Left_Backtick '`'>
                                                                        spids: [21454 21474]
                                                                      )
                                                                    }
                                                                  spids: [21453]
                                                                )
                                                              ]
                                                              spids: [21453]
                                                            )
                                                            (AndOr
                                                              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: [21482]
                                                                )
                                                              ]
                                                              op_id: Op_DPipe
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(eval)} 
                                                                          {
                                                                            (DQ 
                                                                              ($ VSub_Name 
'$relink_command'
                                                                              )
                                                                            )
                                                                          }
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [(C {(Lit_Other ':')})]
                                                                  spids: [-1 21512]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (C {(func_error)} 
                                                                  {
                                                                    (DQ ("error: relink '") 
                                                                      ($ VSub_Name '$file') ("' with the above command before installing it")
                                                                    )
                                                                  }
                                                                )
                                                                (AndOr
                                                                  children: [
                                                                    (C {($ VSub_Name '$opt_dry_run')})
                                                                    (C {(${ VSub_Name RM) (r)} 
                                                                      {(DQ ($ VSub_Name '$tmpdir'))}
                                                                    )
                                                                  ]
                                                                  op_id: Op_DPipe
                                                                )
                                                                (ControlFlow
                                                                  token: 
                                                                    <ControlFlow_Continue continue>
                                                                )
                                                              ]
                                                              spids: [21517 21546]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:file)
                                                                  op: Equal
                                                                  rhs: {($ VSub_Name '$outputname')}
                                                                  spids: [21549]
                                                                )
                                                              ]
                                                              spids: [21549]
                                                            )
                                                          ]
                                                          spids: [-1 21422]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (C {(func_warning)} 
                                                          {
                                                            (DQ ("cannot relink '") 
                                                              ($ VSub_Name '$file') ("'")
                                                            )
                                                          }
                                                        )
                                                      ]
                                                      spids: [21553 21565]
                                                    )
                                                  ]
                                                  spids: [21414]
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          spids: [-1 21407]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:file)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (Pipeline
                                                            children: [
                                                              (C {($ VSub_Name '$ECHO')} 
                                                                {
                                                                  (DQ ($ VSub_Name '$file') 
                                                                    ($ VSub_Name '$stripped_ext')
                                                                  )
                                                                }
                                                              )
                                                              (C {($ VSub_Name '$SED')} 
                                                                {
                                                                  (DQ ('s%') 
                                                                    (EscapedLiteralPart
                                                                      token: <Lit_EscapedChar '\\('>
                                                                    ) ('[^/]*') (EscapedLiteralPart token:<Lit_EscapedChar '\\)'>) (Lit_Other '$') ('%') 
                                                                    ($ VSub_Name '$objdir') (/) (EscapedLiteralPart token:<Lit_EscapedChar '\\1'>) ('%')
                                                                  )
                                                                }
                                                              )
                                                            ]
                                                            negated: False
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick '`'>
                                                    spids: [21579 21603]
                                                  )
                                                }
                                              spids: [21578]
                                            )
                                          ]
                                          spids: [21578]
                                        )
                                      ]
                                      spids: [21571 21606]
                                    )
                                  ]
                                  spids: [-1 21211]
                                )
                              ]
                              spids: [-1 21609]
                            )
                            (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: [21649 21654 21661 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (.exe) (Lit_Other ':') (Lit_Other '*')}
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:destfile)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$destfile') (.exe)}
                                                  spids: [21671]
                                                )
                                              ]
                                              spids: [21671]
                                            )
                                          ]
                                          spids: [21664 21668 21676 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (Lit_Other ':') (Lit_Other '*') (.exe)}
                                          ]
                                          action: [
                                            (C {(func_stripname)} {(SQ )} {(SQ <.exe>)} 
                                              {(DQ ($ VSub_Name '$destfile'))}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:destfile)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$func_stripname_result')}
                                                  spids: [21700]
                                                )
                                              ]
                                              spids: [21700]
                                            )
                                          ]
                                          spids: [21679 21683 21704 -1]
                                        )
                                      ]
                                      spids: [21640 21646 21707]
                                    )
                                  ]
                                  spids: [21630 21637 21710 -1]
                                )
                              ]
                              spids: [21621 21627 21713]
                            )
                            (C {(func_show_eval)} 
                              {
                                (DQ ($ VSub_Name '$install_prog') 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar '\\$'>
                                  ) ('stripme ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('file ') 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar '\\$'>
                                  ) (destfile)
                                )
                              } {(SQ <'exit $?'>)}
                            )
                            (AndOr
                              children: [
                                (C {($ VSub_Name '$opt_dry_run')})
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$outputname'))})
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C {(${ VSub_Name RM) (r)} {(DQ ($ VSub_Name '$tmpdir'))})
                                      ]
                                      spids: [-1 21748]
                                    )
                                  ]
                                  spids: [-1 21761]
                                )
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          spids: [20988 20989 21764 -1]
                        )
                      ]
                      spids: [19948 19952 21767]
                    )
                  ]
                  spids: [19940 21770]
                )
              spids: [19936 19938]
            )
            (ForEach
              iter_name: file
              iter_words: [{($ VSub_Name '$staticlibs')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (C {(func_basename)} {(DQ ($ VSub_Name '$file'))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:name)
                          op: Equal
                          rhs: {($ VSub_Name '$func_basename_result')}
                          spids: [21793]
                        )
                      ]
                      spids: [21793]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:oldlib)
                          op: Equal
                          rhs: {($ VSub_Name '$destdir') (/) ($ VSub_Name '$name')}
                          spids: [21802]
                        )
                      ]
                      spids: [21802]
                    )
                    (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: [21817]
                        )
                      ]
                      spids: [21817]
                    )
                    (C {(func_show_eval)} 
                      {
                        (DQ ($ VSub_Name '$install_prog') (' ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('file ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (oldlib)
                        )
                      } {(SQ <'exit $?'>)}
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$stripme'))})
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$old_striplib'))})
                                  ]
                                  op_id: Op_DAmp
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(func_show_eval)} 
                              {(DQ ($ VSub_Name '$old_striplib') (' ') ($ VSub_Name '$tool_oldlib'))} {(SQ <'exit $?'>)}
                            )
                          ]
                          spids: [-1 21860]
                        )
                      ]
                      spids: [-1 21876]
                    )
                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name '$old_postinstall_cmds'))} 
                      {(SQ <'exit $?'>)}
                    )
                  ]
                  spids: [21783 21895]
                )
              spids: [21779 21781]
            )
            (AndOr
              children: [
                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$future_libdirs'))})
                (C {(func_warning)} 
                  {
                    (DQ ("remember to run '") ($ VSub_Name '$progname') (' --finish') 
                      ($ VSub_Name '$future_libdirs') ("'")
                    )
                  }
                )
              ]
              op_id: Op_DAmp
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$current_libdirs'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (AndOr
                      children: [
                        (C {($ VSub_Name '$opt_dry_run')})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:current_libdirs)
                              op: Equal
                              rhs: {(DQ (' -n') ($ VSub_Name '$current_libdirs'))}
                              spids: [21945]
                            )
                          ]
                          spids: [21945]
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:exec_cmd)
                          op: Equal
                          rhs: {(SQ <'$SHELL "$progpath" $preserve_args --finish$current_libdirs'>)}
                          spids: [21952]
                        )
                      ]
                      spids: [21952]
                    )
                  ]
                  spids: [-1 21934]
                )
              ]
              else_action: [(C {(exit)} {($ VSub_Name '$EXIT_SUCCESS')})]
              spids: [21958 21966]
            )
          ]
          spids: [19064]
        )
      spids: [19059 19063]
    )
    (AndOr
      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: [21985 21991]
            )
          }
        )
      ]
      op_id: Op_DAmp
    )
    (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: [22016]
                )
              ]
              spids: [22016]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_originator)
                  op: Equal
                  rhs: {($ VSub_Number '$2')}
                  spids: [22020]
                )
              ]
              spids: [22020]
            )
            (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: [22025 22029]
                      )
                    }
                  spids: [22024]
                )
              ]
              spids: [22024]
            )
            (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: False
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [22033 22047]
                      )
                    }
                  spids: [22032]
                )
              ]
              spids: [22032]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:my_dlsyms) op:Equal rhs:{(SQ )} spids:[22050])]
              spids: [22050]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(test)} {(-n)} 
                              {(DQ ($ VSub_Name '$dlfiles') ($ VSub_Name '$dlprefiles'))}
                            )
                            (C {(test)} {(no)} {(KW_Bang '!') (Lit_Other '=')} 
                              {(DQ ($ VSub_Name '$dlself'))}
                            )
                          ]
                          op_id: Op_DPipe
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$NM'))})
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$global_symbol_pipe'))})
                                  ]
                                  op_id: Op_DAmp
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:my_dlsyms)
                                  op: Equal
                                  rhs: {(${ VSub_Name my_outputname) (S.c)}
                                  spids: [22106]
                                )
                              ]
                              spids: [22106]
                            )
                          ]
                          spids: [-1 22103]
                        )
                      ]
                      else_action: [
                        (C {(func_error)} 
                          {(DQ ('not configured to extract global symbols from dlpreopened files'))}
                        )
                      ]
                      spids: [22113 22123]
                    )
                  ]
                  spids: [-1 22079]
                )
              ]
              spids: [-1 22126]
            )
            (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:[-12215322155-1])
                        (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: [22167]
                                )
                              ]
                              spids: [22167]
                            )
                            (C {(func_show_eval)} 
                              {
                                (DQ ($ VSub_Name '$RM') (' ') ($ VSub_Name '$nlist') (' ') 
                                  (${ VSub_Name nlist) ('S ') (${ VSub_Name nlist) (T)
                                )
                              }
                            )
                            (C {(func_verbose)} 
                              {
                                (DQ ('creating ') ($ VSub_Name '$output_objdir') (/) 
                                  ($ VSub_Name '$my_dlsyms')
                                )
                              }
                            )
                            (AndOr
                              children: [
                                (C {($ VSub_Name '$opt_dry_run')})
                                (SimpleCommand
                                  words: [
                                    {($ VSub_Name '$ECHO')}
                                    {
                                      (DQ ('/* ') ($ VSub_Name '$my_dlsyms') 
                                        (" - symbol resolution table for '") ($ 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: -1
                                      arg_word: 
                                        {
                                          (DQ ($ VSub_Name '$output_objdir') (/) 
                                            ($ VSub_Name '$my_dlsyms')
                                          )
                                        }
                                      spids: [22215]
                                    )
                                  ]
                                )
                              ]
                              op_id: Op_DPipe
                            )
                            (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
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (SimpleCommand
                                          words: [{(echo)} {(SQ <': @PROGRAM@ '>)}]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Great
                                              fd: -1
                                              arg_word: {(DQ ($ VSub_Name '$nlist'))}
                                              spids: [22310]
                                            )
                                          ]
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:progfiles)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {($ VSub_Name '$ECHO')} 
                                                            {
                                                              (DQ ($ VSub_Name '$objs') 
                                                                ($ VSub_Name '$old_deplibs')
                                                              )
                                                            }
                                                          )
                                                          (C {($ VSub_Name '$SP2NL')})
                                                          (C {($ VSub_Name '$SED')} 
                                                            {(DQ ($ VSub_Name '$lo2o'))}
                                                          )
                                                          (C {($ VSub_Name '$NL2SP')})
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [22323 22346]
                                              )
                                            }
                                          spids: [22322]
                                        )
                                      ]
                                      spids: [22322]
                                    )
                                    (ForEach
                                      iter_name: progfile
                                      iter_words: [{($ VSub_Name '$progfiles')}]
                                      do_arg_iter: False
                                      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
                                              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') ("'")
                                                    )
                                                  }
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          spids: [22358 22397]
                                        )
                                      spids: [22354 22356]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-n)} 
                                                  {(DQ ($ VSub_Name '$exclude_expsyms'))}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (AndOr
                                              children: [
                                                (C {($ VSub_Name '$opt_dry_run')})
                                                (BraceGroup
                                                  children: [
                                                    (C {(eval)} 
                                                      {
                                                        (SQ 
                                                          <
'$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
                                                          >
                                                        )
                                                      }
                                                    )
                                                    (C {(eval)} {(SQ <'$MV "$nlist"T "$nlist"'>)})
                                                  ]
                                                  spids: [22419]
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          spids: [-1 22412]
                                        )
                                      ]
                                      spids: [-1 22439]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-n)} 
                                                  {(DQ ($ VSub_Name '$export_symbols_regex'))}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (AndOr
                                              children: [
                                                (C {($ VSub_Name '$opt_dry_run')})
                                                (BraceGroup
                                                  children: [
                                                    (C {(eval)} 
                                                      {
                                                        (SQ 
                                                          <
'$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
                                                          >
                                                        )
                                                      }
                                                    )
                                                    (C {(eval)} {(SQ <'$MV "$nlist"T "$nlist"'>)})
                                                  ]
                                                  spids: [22461]
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          spids: [-1 22454]
                                        )
                                      ]
                                      spids: [-1 22481]
                                    )
                                    (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: [22503]
                                                )
                                              ]
                                              spids: [22503]
                                            )
                                            (AndOr
                                              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/^.* ") (EscapedLiteralPart token:<Lit_EscapedChar '\\('>) ('.*') 
                                                          (EscapedLiteralPart
                                                            token: <Lit_EscapedChar '\\)'>
                                                          ) (Lit_Other '$') (/) (EscapedLiteralPart token:<Lit_EscapedChar '\\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: [22549 22565 22585 -1]
                                                        )
                                                      ]
                                                      spids: [22542 22546 22588]
                                                    )
                                                  ]
                                                  spids: [22514]
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          spids: [-1 22500]
                                        )
                                      ]
                                      else_action: [
                                        (AndOr
                                          children: [
                                            (C {($ VSub_Name '$opt_dry_run')})
                                            (BraceGroup
                                              children: [
                                                (C {(eval)} 
                                                  {
                                                    (DQ ($ VSub_Name '$SED') (" -e 's/") 
                                                      (EscapedLiteralPart
                                                        token: <Lit_EscapedChar '\\('>
                                                      ) ('[].[*^') (Lit_Other '$') (']') (EscapedLiteralPart token:<Lit_EscapedChar '\\)'>) (/) 
                                                      (EscapedLiteralPart
                                                        token: <Lit_EscapedChar '\\\\'>
                                                      ) (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\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: [22650 22666 22686 -1]
                                                    )
                                                  ]
                                                  spids: [22643 22647 22689]
                                                )
                                              ]
                                              spids: [22601]
                                            )
                                          ]
                                          op_id: Op_DPipe
                                        )
                                      ]
                                      spids: [22594 22695]
                                    )
                                  ]
                                  spids: [-1 22287]
                                )
                              ]
                              spids: [-1 22698]
                            )
                            (ForEach
                              iter_name: dlprefile
                              iter_words: [{($ VSub_Name '$dlprefiles')}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (C {(func_verbose)} 
                                      {
                                        (DQ ("extracting global C symbols from '") 
                                          ($ 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: [22730]
                                        )
                                      ]
                                      spids: [22730]
                                    )
                                    (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: {(SQ )}
                                                          spids: [22793]
                                                        )
                                                      ]
                                                      spids: [22793]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (AndOr
                                                                  children: [
                                                                    (C {(test)} {(-n)} 
                                                                      {
                                                                        (DQ 
                                                                          ($ VSub_Name '$curr_lafile')
                                                                        )
                                                                      }
                                                                    )
                                                                    (C {(func_lalib_p)} 
                                                                      {
                                                                        (DQ 
                                                                          ($ VSub_Name '$curr_lafile')
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  op_id: Op_DAmp
                                                                )
                                                              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
                                                                                children: [
                                                                                  (C {(source)} 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
'$curr_lafile'
                                                                                        )
                                                                                      )
                                                                                    }
                                                                                  )
                                                                                  (C {(echo)} 
                                                                                    {
                                                                                      (DQ 
                                                                                        ($ VSub_Name 
'$dlname'
                                                                                        )
                                                                                      )
                                                                                    }
                                                                                  )
                                                                                ]
                                                                                op_id: Op_DAmp
                                                                              )
                                                                            ]
                                                                          )
                                                                        left_token: 
                                                                          <Left_Backtick '`'>
                                                                        spids: [22823 22837]
                                                                      )
                                                                    }
                                                                  spids: [22822]
                                                                )
                                                              ]
                                                              spids: [22822]
                                                            )
                                                            (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: [22861]
                                                                        )
                                                                      ]
                                                                      spids: [22861]
                                                                    )
                                                                  ]
                                                                  spids: [-1 22851]
                                                                )
                                                              ]
                                                              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: [22879]
                                                                    )
                                                                  ]
                                                                  spids: [22879]
                                                                )
                                                              ]
                                                              spids: [22865 22883]
                                                            )
                                                          ]
                                                          spids: [-1 22815]
                                                        )
                                                      ]
                                                      spids: [-1 22886]
                                                    )
                                                    (AndOr
                                                      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: [-1 22907]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (C {(func_warning)} 
                                                                  {
                                                                    (DQ 
                                                                      (
'Could not compute DLL name from '
                                                                      ) ($ VSub_Name '$name')
                                                                    )
                                                                  }
                                                                )
                                                                (C {(eval)} 
                                                                  {
                                                                    (SQ 
                                                                      <
'$ECHO ": $name " >> "$nlist"'
                                                                      >
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                              spids: [22917 22935]
                                                            )
                                                            (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: [22893]
                                                        )
                                                      ]
                                                      op_id: Op_DPipe
                                                    )
                                                  ]
                                                  spids: [-1 22773]
                                                )
                                              ]
                                              else_action: [
                                                (AndOr
                                                  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: [22979]
                                                    )
                                                  ]
                                                  op_id: Op_DPipe
                                                )
                                              ]
                                              spids: [22969 23017]
                                            )
                                          ]
                                          spids: [22741 22757 23020 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (AndOr
                                              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: [23031]
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          spids: [23023 23024 23069 -1]
                                        )
                                      ]
                                      spids: [22734 22738 23072]
                                    )
                                  ]
                                  spids: [22711 23075]
                                )
                              spids: [22707 22709]
                            )
                            (AndOr
                              children: [
                                (C {($ VSub_Name '$opt_dry_run')})
                                (BraceGroup
                                  children: [
                                    (AndOr
                                      children: [
                                        (C {(test)} {(-f)} {(DQ ($ VSub_Name '$nlist'))})
                                        (SimpleCommand
                                          words: [{(Lit_Other ':')}]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Great
                                              fd: -1
                                              arg_word: {(DQ ($ VSub_Name '$nlist'))}
                                              spids: [23102]
                                            )
                                          ]
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-n)} 
                                                  {(DQ ($ VSub_Name '$exclude_expsyms'))}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (SimpleCommand
                                              words: [
                                                {($ VSub_Name '$EGREP')}
                                                {(-v)}
                                                {
                                                  (DQ (' (') ($ VSub_Name '$exclude_expsyms') (')') 
                                                    (Lit_Other '$')
                                                  )
                                                }
                                                {(DQ ($ VSub_Name '$nlist'))}
                                              ]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_Great
                                                  fd: -1
                                                  arg_word: {(DQ ($ VSub_Name '$nlist')) (T)}
                                                  spids: [23139]
                                                )
                                              ]
                                            )
                                            (C {($ VSub_Name '$MV')} {(DQ ($ VSub_Name '$nlist')) (T)} 
                                              {(DQ ($ VSub_Name '$nlist'))}
                                            )
                                          ]
                                          spids: [-1 23121]
                                        )
                                      ]
                                      spids: [-1 23159]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (Pipeline
                                                  children: [
                                                    (SimpleCommand
                                                      words: [
                                                        {($ VSub_Name '$GREP')}
                                                        {(-v)}
                                                        {(DQ ('^: '))}
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_Less
                                                          fd: -1
                                                          arg_word: {(DQ ($ VSub_Name '$nlist'))}
                                                          spids: [23177]
                                                        )
                                                      ]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (SimpleCommand
                                                                  words: [{(sort)} {(-k)} {(3)}]
                                                                  redirects: [
                                                                    (Redir
                                                                      op_id: Redir_Less
                                                                      fd: -1
                                                                      arg_word: {(/dev/null)}
                                                                      spids: [23194]
                                                                    )
                                                                    (Redir
                                                                      op_id: Redir_Great
                                                                      fd: -1
                                                                      arg_word: {(/dev/null)}
                                                                      spids: [23197]
                                                                    )
                                                                    (Redir
                                                                      op_id: Redir_GreatAnd
                                                                      fd: 2
                                                                      arg_word: {(1)}
                                                                      spids: [23200]
                                                                    )
                                                                  ]
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [(C {(sort)} {(-k)} {(3)})]
                                                          spids: [-1 23204]
                                                        )
                                                      ]
                                                      else_action: [(C {(sort)} {(Lit_Other '+') (2)})]
                                                      spids: [23214 23223]
                                                    )
                                                    (SimpleCommand
                                                      words: [{(uniq)}]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: -1
                                                          arg_word: {(DQ ($ VSub_Name '$nlist')) (S)}
                                                          spids: [23230]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  negated: False
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [(C {(Lit_Other ':')})]
                                          spids: [-1 23238]
                                        )
                                      ]
                                      else_action: [
                                        (SimpleCommand
                                          words: [{($ VSub_Name '$GREP')} {(-v)} {(DQ ('^: '))}]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Less
                                              fd: -1
                                              arg_word: {(DQ ($ VSub_Name '$nlist'))}
                                              spids: [23255]
                                            )
                                            (Redir
                                              op_id: Redir_Great
                                              fd: -1
                                              arg_word: {(DQ ($ VSub_Name '$nlist')) (S)}
                                              spids: [23261]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [23244 23269]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-f)} {(DQ ($ VSub_Name '$nlist')) (S)})
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(eval)} 
                                              {(DQ ($ VSub_Name '$global_symbol_to_cdecl')) 
                                                (SQ <' < "$nlist"S >> "$output_objdir/$my_dlsyms"'>)
                                              }
                                            )
                                          ]
                                          spids: [-1 23285]
                                        )
                                      ]
                                      else_action: [
                                        (SimpleCommand
                                          words: [{(echo)} {(SQ <'/* NONE */'>)}]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_DGreat
                                              fd: -1
                                              arg_word: 
                                                {
                                                  (DQ ($ VSub_Name '$output_objdir') (/) 
                                                    ($ VSub_Name '$my_dlsyms')
                                                  )
                                                }
                                              spids: [23307]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [23298 23316]
                                    )
                                    (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: [-1 23338]
                                        )
                                      ]
                                      spids: [-1 23351]
                                    )
                                    (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: -1
                                          arg_word: 
                                            {
                                              (DQ ($ VSub_Name '$output_objdir') (/) 
                                                ($ VSub_Name '$my_dlsyms')
                                              )
                                            }
                                          spids: [23357]
                                        )
                                      ]
                                    )
                                    (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: -1
                                                  arg_word: 
                                                    {
                                                      (DQ ($ VSub_Name '$output_objdir') (/) 
                                                        ($ VSub_Name '$my_dlsyms')
                                                      )
                                                    }
                                                  spids: [23401]
                                                )
                                              ]
                                            )
                                            (SimpleCommand
                                              words: [
                                                {($ VSub_Name '$SED')}
                                                {
                                                  (SQ 
                                                    <
's/.*/      if (STREQ (symbol->name, \\"&\\")) symbol->address = (void *) \\&&;/'
                                                    >
                                                  )
                                                }
                                              ]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_Less
                                                  fd: -1
                                                  arg_word: {(DQ ($ VSub_Name '$nlist')) (I)}
                                                  spids: [23429]
                                                )
                                                (Redir
                                                  op_id: Redir_DGreat
                                                  fd: -1
                                                  arg_word: 
                                                    {
                                                      (DQ ($ VSub_Name '$output_objdir') (/) 
                                                        ($ VSub_Name '$my_dlsyms')
                                                      )
                                                    }
                                                  spids: [23436]
                                                )
                                              ]
                                            )
                                            (SimpleCommand
                                              words: [{(echo)} {(DQ ('    }\n') ('}'))}]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_DGreat
                                                  fd: -1
                                                  arg_word: 
                                                    {
                                                      (DQ ($ VSub_Name '$output_objdir') (/) 
                                                        ($ VSub_Name '$my_dlsyms')
                                                      )
                                                    }
                                                  spids: [23447]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [-1 23396]
                                        )
                                      ]
                                      spids: [-1 23462]
                                    )
                                    (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: -1
                                          arg_word: 
                                            {
                                              (DQ ($ VSub_Name '$output_objdir') (/) 
                                                ($ VSub_Name '$my_dlsyms')
                                              )
                                            }
                                          spids: [23467]
                                        )
                                      ]
                                    )
                                    (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: -1
                                                  arg_word: 
                                                    {
                                                      (DQ ($ VSub_Name '$output_objdir') (/) 
                                                        ($ VSub_Name '$my_dlsyms')
                                                      )
                                                    }
                                                  spids: [23509]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [-1 23504]
                                        )
                                      ]
                                      spids: [-1 23527]
                                    )
                                    (Case
                                      to_match: {($ VSub_Name '$need_lib_prefix')}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(no)}]
                                          action: [
                                            (SimpleCommand
                                              words: [
                                                {(eval)}
                                                {
                                                  (DQ 
                                                    ($ VSub_Name '$global_symbol_to_c_name_address')
                                                  )
                                                }
                                              ]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_Less
                                                  fd: -1
                                                  arg_word: {(DQ ($ VSub_Name '$nlist'))}
                                                  spids: [23548]
                                                )
                                                (Redir
                                                  op_id: Redir_DGreat
                                                  fd: -1
                                                  arg_word: 
                                                    {
                                                      (DQ ($ VSub_Name '$output_objdir') (/) 
                                                        ($ VSub_Name '$my_dlsyms')
                                                      )
                                                    }
                                                  spids: [23554]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [23538 23539 23563 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (SimpleCommand
                                              words: [
                                                {(eval)}
                                                {
                                                  (DQ 
                                                    ($ VSub_Name 
'$global_symbol_to_c_name_address_lib_prefix'
                                                    )
                                                  )
                                                }
                                              ]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_Less
                                                  fd: -1
                                                  arg_word: {(DQ ($ VSub_Name '$nlist'))}
                                                  spids: [23576]
                                                )
                                                (Redir
                                                  op_id: Redir_DGreat
                                                  fd: -1
                                                  arg_word: 
                                                    {
                                                      (DQ ($ VSub_Name '$output_objdir') (/) 
                                                        ($ VSub_Name '$my_dlsyms')
                                                      )
                                                    }
                                                  spids: [23582]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [23566 23567 23591 -1]
                                        )
                                      ]
                                      spids: [23531 23535 23594]
                                    )
                                    (SimpleCommand
                                      words: [
                                        {(echo)}
                                        {
                                          (DQ ('  {0, (void *) 0}\n') ('};\n') ('\n') 
                                            (
'/* This works around a problem in FreeBSD linker */\n'
                                            ) ('#ifdef FREEBSD_WORKAROUND\n') ('static const void *lt_preloaded_setup() {\n') ('  return lt_') 
                                            (${ VSub_Name my_prefix) ('_LTX_preloaded_symbols;\n') ('}\n') ('#endif\n') ('\n') ('#ifdef __cplusplus\n') ('}\n') ('#endif')
                                          )
                                        }
                                      ]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_DGreat
                                          fd: -1
                                          arg_word: 
                                            {
                                              (DQ ($ VSub_Name '$output_objdir') (/) 
                                                ($ VSub_Name '$my_dlsyms')
                                              )
                                            }
                                          spids: [23599]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [23083]
                                )
                              ]
                              op_id: Op_DPipe
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:pic_flag_for_symtable)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [23637]
                                )
                              ]
                              spids: [23637]
                            )
                            (Case
                              to_match: {(DQ ($ VSub_Name '$compile_command') (' '))}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (DQ (' -static ')) (Lit_Other '*')}]
                                  spids: [23650 23655 23657 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Case
                                      to_match: {($ VSub_Name '$host')}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-freebsd2.) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-freebsd3.0) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-freebsdelf3.0) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:pic_flag_for_symtable)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ (' ') ($ VSub_Name '$pic_flag') 
                                                        (' -DFREEBSD_WORKAROUND')
                                                      )
                                                    }
                                                  spids: [23711]
                                                )
                                              ]
                                              spids: [23711]
                                            )
                                          ]
                                          spids: [23691 23708 23718 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-hpux) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:pic_flag_for_symtable)
                                                  op: Equal
                                                  rhs: {(DQ (' ') ($ VSub_Name '$pic_flag'))}
                                                  spids: [23729]
                                                )
                                              ]
                                              spids: [23729]
                                            )
                                          ]
                                          spids: [23721 23726 23735 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (AndOr
                                              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: [23746]
                                                    )
                                                  ]
                                                  spids: [23746]
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          ]
                                          spids: [23738 23739 23753 -1]
                                        )
                                      ]
                                      spids: [23664 23668 23756]
                                    )
                                  ]
                                  spids: [23660 23661 23759 -1]
                                )
                              ]
                              spids: [23640 23647 23762]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:symtab_cflags)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [23765]
                                )
                              ]
                              spids: [23765]
                            )
                            (ForEach
                              iter_name: arg
                              iter_words: [{($ VSub_Name '$LTCFLAGS')}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Case
                                      to_match: {($ VSub_Name '$arg')}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(-pie)} {(-fpie)} {(-fPIE)}]
                                          spids: [23787 23796 23798 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_append)} {(symtab_cflags)} 
                                              {(DQ (' ') ($ VSub_Name '$arg'))}
                                            )
                                          ]
                                          spids: [23801 23802 23813 -1]
                                        )
                                      ]
                                      spids: [23780 23784 23816]
                                    )
                                  ]
                                  spids: [23777 23819]
                                )
                              spids: [23773 23775]
                            )
                            (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: [23855]
                                )
                              ]
                              spids: [23855]
                            )
                            (Case
                              to_match: {($ VSub_Name '$host')}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (cygwin) (Lit_Other '*')}
                                    {(Lit_Other '*') (mingw) (Lit_Other '*')}
                                    {(Lit_Other '*') (cegcc) (Lit_Other '*')}
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-f)} 
                                                  {
                                                    (DQ ($ VSub_Name '$output_objdir') (/) 
                                                      ($ VSub_Name '$my_outputname') (.def)
                                                    )
                                                  }
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:compile_command)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [
                                                              (Pipeline
                                                                children: [
                                                                  (C {($ VSub_Name '$ECHO')} 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$compile_command'
                                                                        )
                                                                      )
                                                                    }
                                                                  )
                                                                  (C {($ VSub_Name '$SED')} 
                                                                    {
                                                                      (DQ ('s%@SYMFILE@%') 
                                                                        ($ VSub_Name '$output_objdir') (/) ($ VSub_Name '$my_outputname') ('.def ') ($ VSub_Name '$symfileobj') ('%')
                                                                      )
                                                                    }
                                                                  )
                                                                ]
                                                                negated: False
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick '`'>
                                                        spids: [23909 23929]
                                                      )
                                                    }
                                                  spids: [23908]
                                                )
                                              ]
                                              spids: [23908]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:finalize_command)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [
                                                              (Pipeline
                                                                children: [
                                                                  (C {($ VSub_Name '$ECHO')} 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name 
'$finalize_command'
                                                                        )
                                                                      )
                                                                    }
                                                                  )
                                                                  (C {($ VSub_Name '$SED')} 
                                                                    {
                                                                      (DQ ('s%@SYMFILE@%') 
                                                                        ($ VSub_Name '$output_objdir') (/) ($ VSub_Name '$my_outputname') ('.def ') ($ VSub_Name '$symfileobj') ('%')
                                                                      )
                                                                    }
                                                                  )
                                                                ]
                                                                negated: False
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick '`'>
                                                        spids: [23933 23953]
                                                      )
                                                    }
                                                  spids: [23932]
                                                )
                                              ]
                                              spids: [23932]
                                            )
                                          ]
                                          spids: [-1 23905]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:compile_command)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (Pipeline
                                                            children: [
                                                              (C {($ VSub_Name '$ECHO')} 
                                                                {
                                                                  (DQ 
                                                                    ($ VSub_Name '$compile_command')
                                                                  )
                                                                }
                                                              )
                                                              (C {($ VSub_Name '$SED')} 
                                                                {
                                                                  (DQ ('s%@SYMFILE@%') 
                                                                    ($ VSub_Name '$symfileobj') ('%')
                                                                  )
                                                                }
                                                              )
                                                            ]
                                                            negated: False
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick '`'>
                                                    spids: [23960 23976]
                                                  )
                                                }
                                              spids: [23959]
                                            )
                                          ]
                                          spids: [23959]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:finalize_command)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (Pipeline
                                                            children: [
                                                              (C {($ VSub_Name '$ECHO')} 
                                                                {
                                                                  (DQ 
                                                                    ($ VSub_Name '$finalize_command')
                                                                  )
                                                                }
                                                              )
                                                              (C {($ VSub_Name '$SED')} 
                                                                {
                                                                  (DQ ('s%@SYMFILE@%') 
                                                                    ($ VSub_Name '$symfileobj') ('%')
                                                                  )
                                                                }
                                                              )
                                                            ]
                                                            negated: False
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick '`'>
                                                    spids: [23980 23996]
                                                  )
                                                }
                                              spids: [23979]
                                            )
                                          ]
                                          spids: [23979]
                                        )
                                      ]
                                      spids: [23956 23999]
                                    )
                                  ]
                                  spids: [23872 23888 24002 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:compile_command)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {($ VSub_Name '$ECHO')} 
                                                            {(DQ ($ VSub_Name '$compile_command'))}
                                                          )
                                                          (C {($ VSub_Name '$SED')} 
                                                            {
                                                              (DQ ('s%@SYMFILE@%') 
                                                                ($ VSub_Name '$symfileobj') ('%')
                                                              )
                                                            }
                                                          )
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [24010 24026]
                                              )
                                            }
                                          spids: [24009]
                                        )
                                      ]
                                      spids: [24009]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:finalize_command)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {($ VSub_Name '$ECHO')} 
                                                            {(DQ ($ VSub_Name '$finalize_command'))}
                                                          )
                                                          (C {($ VSub_Name '$SED')} 
                                                            {
                                                              (DQ ('s%@SYMFILE@%') 
                                                                ($ VSub_Name '$symfileobj') ('%')
                                                              )
                                                            }
                                                          )
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [24030 24046]
                                              )
                                            }
                                          spids: [24029]
                                        )
                                      ]
                                      spids: [24029]
                                    )
                                  ]
                                  spids: [24005 24006 24049 -1]
                                )
                              ]
                              spids: [23865 23869 24052]
                            )
                          ]
                          spids: [22158 22160 24055 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (C {(func_fatal_error)} 
                              {(DQ ("unknown suffix for '") ($ VSub_Name '$my_dlsyms') ("'"))}
                            )
                          ]
                          spids: [24058 24059 24071 -1]
                        )
                      ]
                      spids: [22144 22148 24074]
                    )
                  ]
                  spids: [-1 22141]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:compile_command)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (Pipeline
                                    children: [
                                      (C {($ VSub_Name '$ECHO')} {(DQ ($ VSub_Name '$compile_command'))})
                                      (C {($ VSub_Name '$SED')} {(DQ ('s% @SYMFILE@%%'))})
                                    ]
                                    negated: False
                                  )
                                ]
                              )
                            left_token: <Left_Backtick '`'>
                            spids: [24098 24112]
                          )
                        }
                      spids: [24097]
                    )
                  ]
                  spids: [24097]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:finalize_command)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (Pipeline
                                    children: [
                                      (C {($ VSub_Name '$ECHO')} 
                                        {(DQ ($ VSub_Name '$finalize_command'))}
                                      )
                                      (C {($ VSub_Name '$SED')} {(DQ ('s% @SYMFILE@%%'))})
                                    ]
                                    negated: False
                                  )
                                ]
                              )
                            left_token: <Left_Backtick '`'>
                            spids: [24116 24130]
                          )
                        }
                      spids: [24115]
                    )
                  ]
                  spids: [24115]
                )
              ]
              spids: [24077 24133]
            )
          ]
          spids: [22009]
        )
      spids: [22004 22008]
    )
    (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: False
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [24172 24194]
                      )
                    }
                  spids: [24171]
                )
              ]
              spids: [24171]
            )
            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$func_cygming_gnu_implib_tmp'))})
          ]
          spids: [24155]
        )
      spids: [24150 24154]
    )
    (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: False
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [24242 24264]
                      )
                    }
                  spids: [24241]
                )
              ]
              spids: [24241]
            )
            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$func_cygming_ms_implib_tmp'))})
          ]
          spids: [24225]
        )
      spids: [24220 24224]
    )
    (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: [24311]
                )
              ]
              spids: [24311]
            )
            (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: [24323]
                                  )
                                ]
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [24316 24325]
                      )
                    }
                  spids: [24315]
                )
              ]
              spids: [24315]
            )
            (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: [24350]
                        )
                      ]
                      spids: [24350]
                    )
                  ]
                  spids: [24335 24344 24356 -1]
                )
                (case_arm
                  pat_list: [
                    {(Lit_Other '*') (ar) (EscapedLiteralPart token:<Lit_EscapedChar '\\ '>) (archive) 
                      (Lit_Other '*')
                    }
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (Pipeline
                                  children: [
                                    (C {(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: [24394]
                                        )
                                      ]
                                    )
                                    (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: -1
                                          arg_word: {(/dev/null)}
                                          spids: [24406]
                                        )
                                      ]
                                    )
                                  ]
                                  negated: False
                                )
                              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
                                              children: [
                                                (C {(func_cygming_ms_implib_p)} 
                                                  {(DQ ($ VSub_Number '$1'))}
                                                )
                                                (C {(func_cygming_gnu_implib_p)} 
                                                  {(DQ ($ VSub_Number '$1'))}
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:win32_nmres)
                                                  op: Equal
                                                  rhs: {(import)}
                                                  spids: [24447]
                                                )
                                              ]
                                              spids: [24447]
                                            )
                                          ]
                                          spids: [-1 24444]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:win32_nmres)
                                              op: Equal
                                              rhs: {(SQ )}
                                              spids: [24454]
                                            )
                                          ]
                                          spids: [24454]
                                        )
                                      ]
                                      spids: [24451 24457]
                                    )
                                  ]
                                  spids: [24421 24423 24460 -1]
                                )
                                (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: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [24477 24511]
                                              )
                                            }
                                          spids: [24476]
                                        )
                                      ]
                                      spids: [24476]
                                    )
                                  ]
                                  spids: [24463 24464 24514 -1]
                                )
                              ]
                              spids: [24413 24417 24517]
                            )
                            (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: [24531]
                                        )
                                      ]
                                      spids: [24531]
                                    )
                                  ]
                                  spids: [24527 24529 24535 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:win32_libid_type)
                                          op: Equal
                                          rhs: {(DQ ('x86 archive static'))}
                                          spids: [24541]
                                        )
                                      ]
                                      spids: [24541]
                                    )
                                  ]
                                  spids: [24538 24539 24545 -1]
                                )
                              ]
                              spids: [24520 24524 24548]
                            )
                          ]
                          spids: [-1 24410]
                        )
                      ]
                      spids: [-1 24551]
                    )
                  ]
                  spids: [24359 24364 24554 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*') (DLL) (Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:win32_libid_type)
                          op: Equal
                          rhs: {(DQ ('x86 DLL'))}
                          spids: [24563]
                        )
                      ]
                      spids: [24563]
                    )
                  ]
                  spids: [24557 24560 24569 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*') (executable) (Lit_Other '*')}]
                  action: [
                    (Case
                      to_match: {($ VSub_Name '$win32_fileres')}
                      arms: [
                        (case_arm
                          pat_list: [
                            {(Lit_Other '*') (MS) (EscapedLiteralPart token:<Lit_EscapedChar '\\ '>) 
                              (Windows) (EscapedLiteralPart token:<Lit_EscapedChar '\\ '>) (PE) 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar '\\ '>
                              ) (Intel) (Lit_Other '*')
                            }
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:win32_libid_type)
                                  op: Equal
                                  rhs: {(DQ ('x86 DLL'))}
                                  spids: [24600]
                                )
                              ]
                              spids: [24600]
                            )
                          ]
                          spids: [24588 24597 24606 -1]
                        )
                      ]
                      spids: [24581 24585 24609]
                    )
                  ]
                  spids: [24572 24575 24612 -1]
                )
              ]
              spids: [24328 24332 24615]
            )
            (C {($ VSub_Name '$ECHO')} {(DQ ($ VSub_Name '$win32_libid_type'))})
          ]
          spids: [24304]
        )
      spids: [24299 24303]
    )
    (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: [24667 24677]
                      )
                    }
                  spids: [24666]
                )
              ]
              spids: [24666]
            )
          ]
          spids: [24659]
        )
      spids: [24654 24658]
    )
    (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: False
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [24728 24742]
                      )
                    }
                  spids: [24727]
                )
              ]
              spids: [24727]
            )
            (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:[24759])]
                )
                (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: False
            )
          ]
          spids: [24720]
        )
      spids: [24715 24719]
    )
    (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: [24937 24947]
                              )
                            }
                          spids: [24936]
                        )
                      ]
                      spids: [24936]
                    )
                  ]
                  spids: [-1 24929]
                )
                (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: [24967 24977]
                              )
                            }
                          spids: [24966]
                        )
                      ]
                      spids: [24966]
                    )
                  ]
                  spids: [24950 24959]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:sharedlib_from_linklib_result)
                      op: Equal
                      rhs: {(SQ )}
                      spids: [24987]
                    )
                  ]
                  spids: [24987]
                )
              ]
              spids: [24980 24990]
            )
          ]
          spids: [24913]
        )
      spids: [24908 24912]
    )
    (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: [25011]
                    )
                  ]
                  spids: [25011]
                )
              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: [25018]
                )
              ]
              spids: [25018]
            )
            (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: [25038]
                        )
                      ]
                      spids: [25038]
                    )
                    (Until
                      cond: [
                        (Sentence
                          child: 
                            (AndOr
                              children: [
                                (C {($ VSub_Name '$opt_dry_run')})
                                (SimpleCommand
                                  words: [
                                    {(ln)}
                                    {(DQ ($ VSub_Name '$progpath'))}
                                    {(DQ ($ VSub_Name '$lockfile'))}
                                  ]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: 2
                                      arg_word: {(/dev/null)}
                                      spids: [25059]
                                    )
                                  ]
                                )
                              ]
                              op_id: Op_DPipe
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      body: 
                        (DoGroup
                          children: [
                            (C {(func_echo)} 
                              {(DQ ('Waiting for ') ($ VSub_Name '$lockfile') (' to be removed'))}
                            )
                            (C {(sleep)} {(2)})
                          ]
                          spids: [25063 25080]
                        )
                    )
                  ]
                  spids: [-1 25035]
                )
              ]
              spids: [-1 25083]
            )
            (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
                      children: [
                        (C {($ VSub_Name '$opt_dry_run')})
                        (C {(rm)} {(-f)} {(DQ ($ VSub_Name '$lockfile'))})
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [-1 25121]
                )
              ]
              spids: [-1 25137]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (Subshell
                          child: 
                            (Pipeline
                              children: [
                                (C {($ VSub_Name '$AR')} {(t)} {(DQ ($ VSub_Name '$f_ex_an_ar_oldlib'))})
                                (C {(sort)})
                                (SimpleCommand
                                  words: [{(sort)} {(-uc)}]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: -1
                                      arg_word: {(/dev/null)}
                                      spids: [25161]
                                    )
                                    (Redir
                                      op_id: Redir_GreatAnd
                                      fd: 2
                                      arg_word: {(1)}
                                      spids: [25164]
                                    )
                                  ]
                                )
                              ]
                              negated: False
                            )
                          spids: [25142 25166]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(Lit_Other ':')})]
                  spids: [-1 25169]
                )
              ]
              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: [25175 25188]
            )
          ]
          spids: [25004]
        )
      spids: [24999 25003]
    )
    (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: [25209]
                    )
                  ]
                  spids: [25209]
                )
              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: [25217 25223]
                      )
                    }
                  spids: [25216]
                )
              ]
              spids: [25216]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:my_oldobjs) op:Equal rhs:{(SQ )} spids:[25226])]
              spids: [25226]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:my_xlib) op:Equal rhs:{(SQ )} spids:[25229])]
              spids: [25229]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:my_xabs) op:Equal rhs:{(SQ )} spids:[25232])]
              spids: [25232]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:my_xdir) op:Equal rhs:{(SQ )} spids:[25235])]
              spids: [25235]
            )
            (ForEach
              iter_name: my_xlib
              iter_words: [{($ VSub_Name '$my_oldlibs')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name '$my_xlib')}
                      arms: [
                        (case_arm
                          pat_list: [
                            {(Lit_Other '[') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (/) 
                              (Lit_Other ']') (Lit_Other '*')
                            }
                            {(Lit_Other '[') (A-Za-z) (Lit_Other ']') (Lit_Other ':') (Lit_Other '[') 
                              (EscapedLiteralPart
                                token: <Lit_EscapedChar '\\\\'>
                              ) (/) (Lit_Other ']') (Lit_Other '*')
                            }
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:my_xabs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$my_xlib')}
                                  spids: [25281]
                                )
                              ]
                              spids: [25281]
                            )
                          ]
                          spids: [25262 25279 25284 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:my_xabs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: (CommandList children:[(C {(pwd)})])
                                        left_token: <Left_Backtick '`'>
                                        spids: [25291 25293]
                                      ) (DQ (/) ($ VSub_Name '$my_xlib'))
                                    }
                                  spids: [25290]
                                )
                              ]
                              spids: [25290]
                            )
                          ]
                          spids: [25287 25288 25299 -1]
                        )
                      ]
                      spids: [25255 25259 25302]
                    )
                    (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: [25312]
                        )
                      ]
                      spids: [25312]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:my_xlib_u)
                          op: Equal
                          rhs: {($ VSub_Name '$my_xlib')}
                          spids: [25316]
                        )
                      ]
                      spids: [25316]
                    )
                    (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: [25358]
                                        )
                                      ]
                                      spids: [25358]
                                    )
                                    (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: [25362]
                                        )
                                      ]
                                      spids: [25362]
                                    )
                                  ]
                                  spids: [25339 25346 25368 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [(ControlFlow token:<ControlFlow_Break break>)]
                                  spids: [25371 25372 25376 -1]
                                )
                              ]
                              spids: [25328 25336 25379]
                            )
                          ]
                          spids: [25325 25382]
                        )
                    )
                    (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: [25385]
                        )
                      ]
                      spids: [25385]
                    )
                    (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: [25393]
                        )
                      ]
                      spids: [25393]
                    )
                    (C {(func_mkdir_p)} {(DQ ($ VSub_Name '$my_xdir'))})
                    (Case
                      to_match: {($ VSub_Name '$host')}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other '*') (-darwin) (Lit_Other '*')}]
                          action: [
                            (C {(func_verbose)} {(DQ ('Extracting ') ($ VSub_Name '$my_xabs'))})
                            (AndOr
                              children: [
                                (C {($ VSub_Name '$opt_dry_run')})
                                (BraceGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:darwin_orig_dir)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: (CommandList children:[(C {(pwd)})])
                                                left_token: <Left_Backtick '`'>
                                                spids: [25441 25443]
                                              )
                                            }
                                          spids: [25440]
                                        )
                                      ]
                                      spids: [25440]
                                    )
                                    (AndOr
                                      children: [
                                        (C {(cd)} {($ VSub_Name '$my_xdir')})
                                        (C {(exit)} {($ VSub_QMark '$?')})
                                      ]
                                      op_id: Op_DPipe
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:darwin_archive)
                                          op: Equal
                                          rhs: {($ VSub_Name '$my_xabs')}
                                          spids: [25457]
                                        )
                                      ]
                                      spids: [25457]
                                    )
                                    (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: [25462 25464]
                                              )
                                            }
                                          spids: [25461]
                                        )
                                      ]
                                      spids: [25461]
                                    )
                                    (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: [25474]
                                        )
                                      ]
                                      spids: [25474]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:darwin_arches)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (AndOr
                                                        children: [
                                                          (Pipeline
                                                            children: [
                                                              (SimpleCommand
                                                                words: [
                                                                  {($ VSub_Name '$LIPO')}
                                                                  {(-info)}
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name '$darwin_archive')
                                                                    )
                                                                  }
                                                                ]
                                                                redirects: [
                                                                  (Redir
                                                                    op_id: Redir_Great
                                                                    fd: 2
                                                                    arg_word: {(/dev/null)}
                                                                    spids: [25488]
                                                                  )
                                                                ]
                                                              )
                                                              (SimpleCommand
                                                                words: [
                                                                  {($ VSub_Name '$GREP')}
                                                                  {(Architectures)}
                                                                ]
                                                                redirects: [
                                                                  (Redir
                                                                    op_id: Redir_Great
                                                                    fd: 2
                                                                    arg_word: {(/dev/null)}
                                                                    spids: [25497]
                                                                  )
                                                                ]
                                                              )
                                                            ]
                                                            negated: False
                                                          )
                                                          (C {(true)})
                                                        ]
                                                        op_id: Op_DPipe
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [25479 25503]
                                              )
                                            }
                                          spids: [25478]
                                        )
                                      ]
                                      spids: [25478]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$darwin_arches'))})
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:darwin_arches)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [
                                                              (Pipeline
                                                                children: [
                                                                  (C {($ VSub_Name '$ECHO')} 
                                                                    {
                                                                      (DQ 
                                                                        ($ VSub_Name '$darwin_arches')
                                                                      )
                                                                    }
                                                                  )
                                                                  (C {($ VSub_Name '$SED')} {(-e)} 
                                                                    {(SQ <'s/.*are://'>)}
                                                                  )
                                                                ]
                                                                negated: False
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick '`'>
                                                        spids: [25521 25537]
                                                      )
                                                    }
                                                  spids: [25520]
                                                )
                                              ]
                                              spids: [25520]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:darwin_arch)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [25540]
                                                )
                                              ]
                                              spids: [25540]
                                            )
                                            (C {(func_verbose)} 
                                              {
                                                (DQ ($ VSub_Name '$darwin_base_archive') 
                                                  (' has multiple architectures ') ($ VSub_Name '$darwin_arches')
                                                )
                                              }
                                            )
                                            (ForEach
                                              iter_name: darwin_arch
                                              iter_words: [{($ VSub_Name '$darwin_arches')}]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (C {(func_mkdir_p)} 
                                                      {
                                                        (DQ (unfat-) ($ VSub_Dollar '$$') (/) 
                                                          ($ VSub_Name '$darwin_base_archive') (-) ($ VSub_Name '$darwin_arch')
                                                        )
                                                      }
                                                    )
                                                    (C {($ VSub_Name '$LIPO')} {(-thin)} 
                                                      {($ VSub_Name '$darwin_arch')} {(-output)} 
                                                      {
                                                        (DQ (unfat-) ($ VSub_Dollar '$$') (/) 
                                                          ($ VSub_Name '$darwin_base_archive') (-) ($ VSub_Name '$darwin_arch') (/) ($ VSub_Name '$darwin_base_archive')
                                                        )
                                                      } {(DQ ($ VSub_Name '$darwin_archive'))}
                                                    )
                                                    (C {(cd)} 
                                                      {
                                                        (DQ (unfat-) ($ VSub_Dollar '$$') (/) 
                                                          ($ VSub_Name '$darwin_base_archive') (-) ($ VSub_Name '$darwin_arch')
                                                        )
                                                      }
                                                    )
                                                    (C {(func_extract_an_archive)} 
                                                      {
                                                        (DQ 
                                                          (CommandSubPart
                                                            command_list: 
                                                              (CommandList
                                                                children: [(C {(pwd)})]
                                                              )
                                                            left_token: <Left_Backtick '`'>
                                                            spids: [25615 25617]
                                                          )
                                                        )
                                                      } {(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: [25561 25646]
                                                )
                                              spids: [25557 25559]
                                            )
                                            (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: False
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_Backtick '`'>
                                                        spids: [25657 25698]
                                                      )
                                                    }
                                                  spids: [25656]
                                                )
                                              ]
                                              spids: [25656]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:darwin_file)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [25701]
                                                )
                                              ]
                                              spids: [25701]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:darwin_files)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [25704]
                                                )
                                              ]
                                              spids: [25704]
                                            )
                                            (ForEach
                                              iter_name: darwin_file
                                              iter_words: [{($ VSub_Name '$darwin_filelist')}]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:darwin_files)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (CommandSubPart
                                                                command_list: 
                                                                  (CommandList
                                                                    children: [
                                                                      (Pipeline
                                                                        children: [
                                                                          (C {(find)} 
                                                                            {(unfat-) 
                                                                              ($ VSub_Dollar '$$')
                                                                            } {(-name)} {($ VSub_Name '$darwin_file')} {(-print)}
                                                                          )
                                                                          (C {(sort)})
                                                                          (C {($ VSub_Name '$NL2SP')})
                                                                        ]
                                                                        negated: False
                                                                      )
                                                                    ]
                                                                  )
                                                                left_token: <Left_Backtick '`'>
                                                                spids: [25720 25739]
                                                              )
                                                            }
                                                          spids: [25719]
                                                        )
                                                      ]
                                                      spids: [25719]
                                                    )
                                                    (C {($ VSub_Name '$LIPO')} {(-create)} {(-output)} 
                                                      {(DQ ($ VSub_Name '$darwin_file'))} {($ VSub_Name '$darwin_files')}
                                                    )
                                                  ]
                                                  spids: [25716 25755]
                                                )
                                              spids: [25712 25714]
                                            )
                                            (C {($ VSub_Name '$RM')} {(-rf)} 
                                              {(unfat-) ($ VSub_Dollar '$$')}
                                            )
                                            (C {(cd)} {(DQ ($ VSub_Name '$darwin_orig_dir'))})
                                          ]
                                          spids: [-1 25517]
                                        )
                                      ]
                                      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: [25776 25795]
                                    )
                                  ]
                                  spids: [25437]
                                )
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          spids: [25415 25418 25807 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (C {(func_extract_an_archive)} {(DQ ($ VSub_Name '$my_xdir'))} 
                              {(DQ ($ VSub_Name '$my_xabs'))}
                            )
                          ]
                          spids: [25810 25811 25825 -1]
                        )
                      ]
                      spids: [25408 25412 25828]
                    )
                    (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: False
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [25836 25865]
                              )
                            }
                          spids: [25831]
                        )
                      ]
                      spids: [25831]
                    )
                  ]
                  spids: [25248 25868]
                )
              spids: [25244 25246]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_extract_archives_result)
                  op: Equal
                  rhs: {($ VSub_Name '$my_oldobjs')}
                  spids: [25872]
                )
              ]
              spids: [25872]
            )
          ]
          spids: [25202]
        )
      spids: [25197 25201]
    )
    (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: [25930 25934]
                      )
                    }
                  spids: [25929]
                )
              ]
              spids: [25929]
            )
            (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: False
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [26071 26085]
                      )
                    }
                  spids: [26070]
                )
              ]
              spids: [26070]
            )
            (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: [26288 26306 26366 -1]
                )
                (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: [26370 26371 26427 -1]
                )
              ]
              spids: [26277 26281 26430]
            )
            (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: [-1 26762]
                )
              ]
              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: [26969 26989]
            )
            (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: [-1 27041]
                )
              ]
              spids: [-1 27057]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(test)} {(yes)} {(Lit_Other '=')} 
                              {(DQ ($ VSub_Name '$shlibpath_overrides_runpath'))}
                            )
                            (AndOr
                              children: [
                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$shlibpath_var'))})
                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$temp_rpath'))})
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {($ VSub_Name '$ECHO')} 
                      {
                        (DQ ('    # Add our own library path to ') ($ VSub_Name '$shlibpath_var') 
                          ('\n') ('    ') ($ VSub_Name '$shlibpath_var') ('=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                          ($ VSub_Name '$temp_rpath') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ($ VSub_Name '$shlibpath_var') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('\n') ('\n') ('    # Some systems cannot cope with colon-terminated ') ($ VSub_Name '$shlibpath_var') 
                          ('\n') ('    # The second colon is a workaround for a bug in BeOS R4 sed\n') ('    ') 
                          ($ VSub_Name '$shlibpath_var') ('=') (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('ECHO ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ($ VSub_Name '$shlibpath_var') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' | ') 
                          ($ VSub_Name '$SED') (" 's/::*") (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ("//'") 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ('\n') ('\n') ('    export ') ($ VSub_Name '$shlibpath_var') ('\n')
                        )
                      }
                    )
                  ]
                  spids: [-1 27098]
                )
              ]
              spids: [-1 27146]
            )
            (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: [25926]
        )
      spids: [25921 25925]
    )
    (FuncDef
      name: func_emit_cwrapperexe_src
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {
                      (DQ ('\n') ('/* ') ($ VSub_Name '$cwrappersource') 
                        (' - temporary wrapper executable for ') ($ VSub_Name '$objdir') (/) ($ VSub_Name '$outputname') ('\n') ('   Generated by ') 
                        ($ VSub_Name '$PROGRAM') (' (GNU ') ($ VSub_Name '$PACKAGE') (') ') ($ VSub_Name '$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: True
                  spids: [27238]
                )
              ]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {('#ifdef _MSC_VER\n') ('# define _CRT_SECURE_NO_DEPRECATE 1\n') ('#endif\n') 
                      ('#include <stdio.h>\n') ('#include <stdlib.h>\n') ('#ifdef _MSC_VER\n') ('# include <direct.h>\n') ('# include <process.h>\n') 
                      ('# include <io.h>\n') ('#else\n') ('# include <unistd.h>\n') ('# include <stdint.h>\n') ('# ifdef __CYGWIN__\n') 
                      ('#  include <io.h>\n') ('# endif\n') ('#endif\n') ('#include <malloc.h>\n') ('#include <stdarg.h>\n') ('#include <assert.h>\n') 
                      ('#include <string.h>\n') ('#include <ctype.h>\n') ('#include <errno.h>\n') ('#include <fcntl.h>\n') ('#include <sys/stat.h>\n') 
                      ('\n') ('#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: True
                  spids: [27269]
                )
              ]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  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: True
                  spids: [27278]
                )
              ]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(test)} {(yes)} {(Lit_Other '=')} 
                              {(DQ ($ VSub_Name '$shlibpath_overrides_runpath'))}
                            )
                            (AndOr
                              children: [
                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$shlibpath_var'))})
                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$temp_rpath'))})
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(func_to_host_path)} {(DQ ($ VSub_Name '$temp_rpath'))})
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ('const char * LIB_PATH_VALUE   = ') (Right_DoubleQuote '"') 
                                ($ VSub_Name '$func_to_host_path_result') (Right_DoubleQuote '"') (';\n')
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [27344]
                        )
                      ]
                    )
                  ]
                  spids: [-1 27332]
                )
              ]
              else_action: [
                (SimpleCommand
                  words: [{(cat)}]
                  redirects: [
                    (HereDoc
                      op_id: Redir_DLess
                      fd: -1
                      body: {('const char * LIB_PATH_VALUE   = "";\n')}
                      do_expansion: False
                      here_end: EOF
                      was_filled: True
                      spids: [27359]
                    )
                  ]
                )
              ]
              spids: [27354 27365]
            )
            (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: -1
                          body: 
                            {
                              (DQ ('const char * EXE_PATH_VARNAME = ') (Right_DoubleQuote '"') (PATH) 
                                (Right_DoubleQuote '"') (';\n') ('const char * EXE_PATH_VALUE   = ') (Right_DoubleQuote '"') 
                                ($ VSub_Name '$func_to_host_path_result') (Right_DoubleQuote '"') (';\n')
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [27393]
                        )
                      ]
                    )
                  ]
                  spids: [-1 27380]
                )
              ]
              else_action: [
                (SimpleCommand
                  words: [{(cat)}]
                  redirects: [
                    (HereDoc
                      op_id: Redir_DLess
                      fd: -1
                      body: 
                        {('const char * EXE_PATH_VARNAME = "";\n') 
                          ('const char * EXE_PATH_VALUE   = "";\n')
                        }
                      do_expansion: False
                      here_end: EOF
                      was_filled: True
                      spids: [27413]
                    )
                  ]
                )
              ]
              spids: [27408 27419]
            )
            (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: -1
                          body: 
                            {
                              (DQ ('const char * TARGET_PROGRAM_NAME = ') (Right_DoubleQuote '"') (lt-) 
                                ($ VSub_Name '$outputname') (Right_DoubleQuote '"') ('; /* hopefully, no .exe */\n')
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [27441]
                        )
                      ]
                    )
                  ]
                  spids: [-1 27436]
                )
              ]
              else_action: [
                (SimpleCommand
                  words: [{(cat)}]
                  redirects: [
                    (HereDoc
                      op_id: Redir_DLess
                      fd: -1
                      body: 
                        {
                          (DQ ('const char * TARGET_PROGRAM_NAME = ') (Right_DoubleQuote '"') 
                            ($ VSub_Name '$outputname') (Right_DoubleQuote '"') ('; /* hopefully, no .exe */\n')
                          )
                        }
                      do_expansion: True
                      here_end: EOF
                      was_filled: True
                      spids: [27457]
                    )
                  ]
                )
              ]
              spids: [27452 27467]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  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: True
                  spids: [27474]
                )
              ]
            )
            (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: [27487 27497 27511 -1]
                )
              ]
              spids: [27480 27484 27514]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  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: True
                  spids: [27520]
                )
              ]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  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') (EscapedLiteralPart token:<Lit_EscapedChar '\\n'>) (Right_DoubleQuote '"') (');\n')
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [27528]
                )
              ]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  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: True
                  spids: [27545]
                )
              ]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {
                      (DQ ('  newargz[0] =\n') 
                        ('    XMALLOC (char, (strlen (actual_cwrapper_path) +\n') ('\t\t    strlen (') (Right_DoubleQuote '"') ($ VSub_Name '$objdir') (Right_DoubleQuote '"') 
                        (') + 1 + strlen (actual_cwrapper_name) + 1));\n') ('  strcpy (newargz[0], actual_cwrapper_path);\n') ('  strcat (newargz[0], ') (Right_DoubleQuote '"') 
                        ($ VSub_Name '$objdir') (Right_DoubleQuote '"') (');\n') ('  strcat (newargz[0], ') (Right_DoubleQuote '"') (/) 
                        (Right_DoubleQuote '"') (');\n')
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [27554]
                )
              ]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {("  /* stop here, and copy so we don't have to do this twice */\n") 
                      ('  tmp_pathspec = xstrdup (newargz[0]);\n') ('\n') ('  /* do NOT want the lt- prefix here, so use actual_cwrapper_name */\n') 
                      ('  strcat (newargz[0], actual_cwrapper_name);\n') ('\n') ('  /* DO want the lt- prefix here if it exists, so use target_name */\n') 
                      ('  lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);\n') ('  XFREE (tmp_pathspec);\n') ('  tmp_pathspec = NULL;\n')
                    }
                  do_expansion: False
                  here_end: EOF
                  was_filled: True
                  spids: [27580]
                )
              ]
            )
            (Case
              to_match: {($ VSub_Name '$host_os')}
              arms: [
                (case_arm
                  pat_list: [{(mingw) (Lit_Other '*')}]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {('  {\n') ('    char* p;\n') 
                              ("    while ((p = strchr (newargz[0], '\\\\')) != NULL)\n") ('      {\n') ("\t*p = '/';\n") ('      }\n') 
                              ("    while ((p = strchr (lt_argv_zero, '\\\\')) != NULL)\n") ('      {\n') ("\t*p = '/';\n") ('      }\n') ('  }\n')
                            }
                          do_expansion: False
                          here_end: EOF
                          was_filled: True
                          spids: [27601]
                        )
                      ]
                    )
                  ]
                  spids: [27594 27596 27607 -1]
                )
              ]
              spids: [27587 27591 27610]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {('  XFREE (target_name);\n') ('  XFREE (actual_cwrapper_path);\n') 
                      ('  XFREE (actual_cwrapper_name);\n') ('\n') ('  lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */\n') 
                      ('  lt_setenv ("DUALCASE", "1");  /* for MSK sh */\n') ('  /* 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: True
                  spids: [27616]
                )
              ]
            )
            (Case
              to_match: {($ VSub_Name '$host_os')}
              arms: [
                (case_arm
                  pat_list: [{(mingw) (Lit_Other '*')}]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {("  /* execv doesn't actually work on mingw as expected on unix */\n") 
                              ('  newargz = prepare_spawn (newargz);\n') ('  rval = (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: True
                          spids: [27637]
                        )
                      ]
                    )
                  ]
                  spids: [27630 27632 27643 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {('  execv (lt_argv_zero, newargz);\n') 
                              ('  return rval; /* =127, but avoids unused variable warning */\n')
                            }
                          do_expansion: False
                          here_end: EOF
                          was_filled: True
                          spids: [27652]
                        )
                      ]
                    )
                  ]
                  spids: [27646 27647 27658 -1]
                )
              ]
              spids: [27623 27627 27661]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {('}\n') ('\n') ('void *\n') ('xmalloc (size_t num)\n') ('{\n') 
                      ('  void *p = (void *) malloc (num);\n') ('  if (!p)\n') ('    lt_fatal (__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: True
                  spids: [27667]
                )
              ]
            )
            (Case
              to_match: {($ VSub_Name '$host_os')}
              arms: [
                (case_arm
                  pat_list: [{(mingw) (Lit_Other '*')}]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {('\n') ('/* Prepares an argument vector before calling spawn().\n') 
                              (
'   Note that spawn() does not by itself call the command interpreter\n'
                              ) ('     (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") :\n') 
                              (
'      ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);\n'
                              ) ('         GetVersionEx(&v);\n') ('         v.dwPlatformId == VER_PLATFORM_WIN32_NT;\n') 
                              ('      }) ? "cmd.exe" : "command.com").\n') ("   Instead it simply concatenates the arguments, separated by ' ', and calls\n") 
                              (
'   CreateProcess().  We must quote the arguments since Win32 CreateProcess()\n'
                              ) ('   interprets characters like \' \', \'\\t\', \'\\\\\', \'"\' (but not \'<\' and \'>\') in a\n') 
                              ('   special way:\n') ('   - Space and tab are interpreted as delimiters. They are not treated as\n') 
                              ('     delimiters if they are surrounded by double quotes: "...".\n') ('   - Unescaped double quotes are removed from the input. Their only effect is\n') 
                              (
'     that within double quotes, space and tab are treated like normal\n'
                              ) ('     characters.\n') ('   - Backslashes not followed by double quotes are not special.\n') 
                              ('   - But 2*n+1 backslashes followed by a double quote become\n') ('     n backslashes followed by a double quote (n >= 0):\n') ('       \\" -> "\n') 
                              ('       \\\\\\" -> \\"\n') ('       \\\\\\\\\\" -> \\\\"\n') (' */\n') 
                              (
'#define SHELL_SPECIAL_CHARS "\\"\\\\ \\001\\002\\003\\004\\005\\006\\007\\010\\011\\012\\013\\014\\015\\016\\017\\020\\021\\022\\023\\024\\025\\026\\027\\030\\031\\032\\033\\034\\035\\036\\037"\n'
                              ) 
                              (
'#define SHELL_SPACE_CHARS " \\001\\002\\003\\004\\005\\006\\007\\010\\011\\012\\013\\014\\015\\016\\017\\020\\021\\022\\023\\024\\025\\026\\027\\030\\031\\032\\033\\034\\035\\036\\037"\n'
                              ) ('char **\n') ('prepare_spawn (char **argv)\n') ('{\n') ('  size_t argc;\n') ('  char **new_argv;\n') 
                              ('  size_t i;\n') ('\n') ('  /* Count number of arguments.  */\n') ('  for (argc = 0; argv[argc] != NULL; argc++)\n') 
                              ('    ;\n') ('\n') ('  /* Allocate new argument vector.  */\n') ('  new_argv = XMALLOC (char *, argc + 1);\n') 
                              ('\n') ('  /* Put quoted arguments into the new argument vector.  */\n') ('  for (i = 0; i < argc; i++)\n') 
                              ('    {\n') ('      const char *string = argv[i];\n') ('\n') ("      if (string[0] == '\\0')\n") 
                              ('\tnew_argv[i] = xstrdup ("\\"\\"");\n') ('      else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL)\n') ('\t{\n') 
                              (
'\t  int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL);\n'
                              ) ('\t  size_t length;\n') ('\t  unsigned int backslashes;\n') ('\t  const char *s;\n') 
                              ('\t  char *quoted_string;\n') ('\t  char *p;\n') ('\n') ('\t  length = 0;\n') ('\t  backslashes = 0;\n') ('\t  if (quote_around)\n') 
                              ('\t    length++;\n') ("\t  for (s = string; *s != '\\0'; s++)\n") ('\t    {\n') ('\t      char c = *s;\n') 
                              ('\t      if (c == \'"\')\n') ('\t\tlength += backslashes + 1;\n') ('\t      length++;\n') ("\t      if (c == '\\\\')\n") 
                              ('\t\tbackslashes++;\n') ('\t      else\n') ('\t\tbackslashes = 0;\n') ('\t    }\n') ('\t  if (quote_around)\n') 
                              ('\t    length += backslashes + 1;\n') ('\n') ('\t  quoted_string = XMALLOC (char, length + 1);\n') ('\n') ('\t  p = quoted_string;\n') 
                              ('\t  backslashes = 0;\n') ('\t  if (quote_around)\n') ('\t    *p++ = \'"\';\n') ("\t  for (s = string; *s != '\\0'; s++)\n") 
                              ('\t    {\n') ('\t      char c = *s;\n') ('\t      if (c == \'"\')\n') ('\t\t{\n') ('\t\t  unsigned int j;\n') 
                              ('\t\t  for (j = backslashes + 1; j > 0; j--)\n') ("\t\t    *p++ = '\\\\';\n") ('\t\t}\n') ('\t      *p++ = c;\n') ("\t      if (c == '\\\\')\n") 
                              ('\t\tbackslashes++;\n') ('\t      else\n') ('\t\tbackslashes = 0;\n') ('\t    }\n') ('\t  if (quote_around)\n') ('\t    {\n') 
                              ('\t      unsigned int j;\n') ('\t      for (j = backslashes; j > 0; j--)\n') ("\t\t*p++ = '\\\\';\n") ('\t      *p++ = \'"\';\n') 
                              ('\t    }\n') ("\t  *p = '\\0';\n") ('\n') ('\t  new_argv[i] = quoted_string;\n') ('\t}\n') ('      else\n') 
                              ('\tnew_argv[i] = (char *) string;\n') ('    }\n') ('  new_argv[argc] = NULL;\n') ('\n') ('  return new_argv;\n') ('}\n')
                            }
                          do_expansion: False
                          here_end: EOF
                          was_filled: True
                          spids: [27687]
                        )
                      ]
                    )
                  ]
                  spids: [27680 27682 27693 -1]
                )
              ]
              spids: [27673 27677 27696]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: {('void lt_dump_script (FILE* f)\n') ('{\n')}
                  do_expansion: False
                  here_end: EOF
                  was_filled: True
                  spids: [27702]
                )
              ]
            )
            (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: False
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: {('}\n')}
                  do_expansion: False
                  here_end: EOF
                  was_filled: True
                  spids: [27736]
                )
              ]
            )
          ]
          spids: [27233]
        )
      spids: [27228 27232]
    )
    (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: [27777]
                                  )
                                ]
                              )
                              (C {($ VSub_Name '$SED')} {(-e)} {(10q)})
                            ]
                            negated: False
                          )
                        ]
                      )
                    left_token: <Left_Backtick '`'>
                    spids: [27767 27787]
                  )
                }
              arms: [
                (case_arm
                  pat_list: [{(Lit_Other '*') (import) (Lit_Other '*')}]
                  action: [(C {(Lit_Other ':')})]
                  spids: [27792 27795 27799 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [(C {(false)})]
                  spids: [27802 27803 27807 -1]
                )
              ]
              spids: [27765 27789 27810]
            )
          ]
          spids: [27758]
        )
      spids: [27753 27757]
    )
    (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: [27886]
                        )
                      ]
                      spids: [27886]
                    )
                  ]
                  spids: [27850 27883 27890 -1]
                )
                (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: [27897]
                        )
                      ]
                      spids: [27897]
                    )
                  ]
                  spids: [27893 27894 27901 -1]
                )
              ]
              spids: [27839 27847 27904]
            )
          ]
          spids: [27832]
        )
      spids: [27827 27831]
    )
    (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: [28010]
                        )
                      ]
                      spids: [28010]
                    )
                  ]
                  spids: [27931 27966 28014 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:allow_undefined)
                          op: Equal
                          rhs: {(yes)}
                          spids: [28021]
                        )
                      ]
                      spids: [28021]
                    )
                  ]
                  spids: [28017 28018 28025 -1]
                )
              ]
              spids: [27924 27928 28028]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libtool_args)
                  op: Equal
                  rhs: {($ VSub_Name '$nonopt')}
                  spids: [28031]
                )
              ]
              spids: [28031]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:base_compile)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$nonopt') (' ') ($ VSub_At '$@'))}
                  spids: [28035]
                )
              ]
              spids: [28035]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compile_command)
                  op: Equal
                  rhs: {($ VSub_Name '$nonopt')}
                  spids: [28043]
                )
              ]
              spids: [28043]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:finalize_command)
                  op: Equal
                  rhs: {($ VSub_Name '$nonopt')}
                  spids: [28047]
                )
              ]
              spids: [28047]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compile_rpath)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [28052]
                )
              ]
              spids: [28052]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:finalize_rpath)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [28055]
                )
              ]
              spids: [28055]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compile_shlibpath)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [28058]
                )
              ]
              spids: [28058]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:finalize_shlibpath)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [28061]
                )
              ]
              spids: [28061]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:convenience) op:Equal rhs:{(SQ )} spids:[28064])]
              spids: [28064]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:old_convenience)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [28067]
                )
              ]
              spids: [28067]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:deplibs) op:Equal rhs:{(SQ )} spids:[28070])]
              spids: [28070]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:old_deplibs) op:Equal rhs:{(SQ )} spids:[28073])]
              spids: [28073]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compiler_flags)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [28076]
                )
              ]
              spids: [28076]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:linker_flags)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [28079]
                )
              ]
              spids: [28079]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:dllsearchpath)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [28082]
                )
              ]
              spids: [28082]
            )
            (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: [28086 28088]
                      )
                    }
                  spids: [28085]
                )
              ]
              spids: [28085]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:inst_prefix_dir)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [28091]
                )
              ]
              spids: [28091]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:new_inherited_linker_flags)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [28094]
                )
              ]
              spids: [28094]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:avoid_version)
                  op: Equal
                  rhs: {(no)}
                  spids: [28098]
                )
              ]
              spids: [28098]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:bindir) op:Equal rhs:{(SQ )} spids:[28102])]
              spids: [28102]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:dlfiles) op:Equal rhs:{(SQ )} spids:[28105])]
              spids: [28105]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:dlprefiles) op:Equal rhs:{(SQ )} spids:[28108])]
              spids: [28108]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:dlself) op:Equal rhs:{(no)} spids:[28111])]
              spids: [28111]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:export_dynamic)
                  op: Equal
                  rhs: {(no)}
                  spids: [28115]
                )
              ]
              spids: [28115]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:export_symbols)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [28119]
                )
              ]
              spids: [28119]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:export_symbols_regex)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [28122]
                )
              ]
              spids: [28122]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:generated) op:Equal rhs:{(SQ )} spids:[28125])]
              spids: [28125]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:libobjs) op:Equal rhs:{(SQ )} spids:[28128])]
              spids: [28128]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:ltlibs) op:Equal rhs:{(SQ )} spids:[28131])]
              spids: [28131]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:module) op:Equal rhs:{(no)} spids:[28134])]
              spids: [28134]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:no_install) op:Equal rhs:{(no)} spids:[28138])]
              spids: [28138]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:objs) op:Equal rhs:{(SQ )} spids:[28142])]
              spids: [28142]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:os2dllname) op:Equal rhs:{(SQ )} spids:[28145])]
              spids: [28145]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:non_pic_objects)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [28148]
                )
              ]
              spids: [28148]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:precious_files_regex)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [28151]
                )
              ]
              spids: [28151]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:prefer_static_libs)
                  op: Equal
                  rhs: {(no)}
                  spids: [28154]
                )
              ]
              spids: [28154]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:preload) op:Equal rhs:{(false)} spids:[28158])]
              spids: [28158]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:prev) op:Equal rhs:{(SQ )} spids:[28162])]
              spids: [28162]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:prevarg) op:Equal rhs:{(SQ )} spids:[28165])]
              spids: [28165]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:release) op:Equal rhs:{(SQ )} spids:[28168])]
              spids: [28168]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:rpath) op:Equal rhs:{(SQ )} spids:[28171])]
              spids: [28171]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:xrpath) op:Equal rhs:{(SQ )} spids:[28174])]
              spids: [28174]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:perm_rpath) op:Equal rhs:{(SQ )} spids:[28177])]
              spids: [28177]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:temp_rpath) op:Equal rhs:{(SQ )} spids:[28180])]
              spids: [28180]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:thread_safe) op:Equal rhs:{(no)} spids:[28183])]
              spids: [28183]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:vinfo) op:Equal rhs:{(SQ )} spids:[28187])]
              spids: [28187]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:vinfo_number) op:Equal rhs:{(no)} spids:[28190])]
              spids: [28190]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:weak_libs) op:Equal rhs:{(SQ )} spids:[28194])]
              spids: [28194]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:single_module)
                  op: Equal
                  rhs: {($ VSub_Name '$wl') (-single_module)}
                  spids: [28197]
                )
              ]
              spids: [28197]
            )
            (C {(func_infer_tag)} {($ VSub_Name '$base_compile')})
            (ForEach
              iter_name: arg
              do_arg_iter: True
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name '$arg')}
                      arms: [
                        (case_arm
                          pat_list: [{(-shared)}]
                          action: [
                            (AndOr
                              children: [
                                (C {(test)} {(yes)} {(KW_Bang '!') (Lit_Other '=')} 
                                  {(DQ ($ VSub_Name '$build_libtool_libs'))}
                                )
                                (C {(func_fatal_configuration)} {(DQ ('cannot build a shared library'))})
                              ]
                              op_id: Op_DAmp
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_old_libs)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [28253]
                                )
                              ]
                              spids: [28253]
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [28227 28228 28260 -1]
                        )
                        (case_arm
                          pat_list: [{(-all-static)} {(-static)} {(-static-libtool-libs)}]
                          action: [
                            (Case
                              to_match: {($ VSub_Name '$arg')}
                              arms: [
                                (case_arm
                                  pat_list: [{(-all-static)}]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(yes)} {(Lit_Other '=')} 
                                                      {(DQ ($ VSub_Name '$build_libtool_libs'))}
                                                    )
                                                    (C {(test)} {(-z)} 
                                                      {(DQ ($ VSub_Name '$link_static_flag'))}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_warning)} 
                                              {
                                                (DQ 
                                                  (
'complete static linking is impossible in this configuration'
                                                  )
                                                )
                                              }
                                            )
                                          ]
                                          spids: [-1 28309]
                                        )
                                      ]
                                      spids: [-1 28319]
                                    )
                                    (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: [28336]
                                                )
                                              ]
                                              spids: [28336]
                                            )
                                          ]
                                          spids: [-1 28333]
                                        )
                                      ]
                                      spids: [-1 28340]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prefer_static_libs)
                                          op: Equal
                                          rhs: {(yes)}
                                          spids: [28343]
                                        )
                                      ]
                                      spids: [28343]
                                    )
                                  ]
                                  spids: [28282 28283 28347 -1]
                                )
                                (case_arm
                                  pat_list: [{(-static)}]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-z)} {(DQ ($ VSub_Name '$pic_flag'))})
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$link_static_flag'))}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dlopen_self)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$dlopen_self_static')}
                                                  spids: [28378]
                                                )
                                              ]
                                              spids: [28378]
                                            )
                                          ]
                                          spids: [-1 28375]
                                        )
                                      ]
                                      spids: [-1 28382]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prefer_static_libs)
                                          op: Equal
                                          rhs: {(built)}
                                          spids: [28385]
                                        )
                                      ]
                                      spids: [28385]
                                    )
                                  ]
                                  spids: [28350 28351 28389 -1]
                                )
                                (case_arm
                                  pat_list: [{(-static-libtool-libs)}]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-z)} {(DQ ($ VSub_Name '$pic_flag'))})
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$link_static_flag'))}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dlopen_self)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$dlopen_self_static')}
                                                  spids: [28420]
                                                )
                                              ]
                                              spids: [28420]
                                            )
                                          ]
                                          spids: [-1 28417]
                                        )
                                      ]
                                      spids: [-1 28424]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prefer_static_libs)
                                          op: Equal
                                          rhs: {(yes)}
                                          spids: [28427]
                                        )
                                      ]
                                      spids: [28427]
                                    )
                                  ]
                                  spids: [28392 28393 28431 -1]
                                )
                              ]
                              spids: [28275 28279 28434]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_libtool_libs)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [28437]
                                )
                              ]
                              spids: [28437]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_old_libs)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [28441]
                                )
                              ]
                              spids: [28441]
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [28263 28272 28448 -1]
                        )
                      ]
                      spids: [28220 28224 28451]
                    )
                  ]
                  spids: [28217 28454]
                )
              spids: [-1 -1]
            )
            (AndOr
              children: [
                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$old_archive_from_new_cmds'))})
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:build_old_libs)
                      op: Equal
                      rhs: {(yes)}
                      spids: [28472]
                    )
                  ]
                  spids: [28472]
                )
              ]
              op_id: Op_DAmp
            )
            (While
              cond: [
                (Sentence
                  child: (C {(test)} {(DQ ($ VSub_Pound '$#'))} {(-gt)} {(0)})
                  terminator: <Op_Semi ';'>
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:arg)
                          op: Equal
                          rhs: {($ VSub_Number '$1')}
                          spids: [28497]
                        )
                      ]
                      spids: [28497]
                    )
                    (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: [28511]
                        )
                      ]
                      spids: [28511]
                    )
                    (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: [28551 28552 28573 -1]
                                )
                              ]
                              spids: [28544 28548 28576]
                            )
                            (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: [28591]
                                        )
                                      ]
                                      spids: [28591]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [28595]
                                        )
                                      ]
                                      spids: [28595]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [28587 28588 28601 -1]
                                )
                                (case_arm
                                  pat_list: [{(dlfiles)} {(dlprefiles)}]
                                  action: [
                                    (AndOr
                                      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: [28639]
                                                )
                                              ]
                                              spids: [28639]
                                            )
                                          ]
                                          spids: [28614]
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                    (Case
                                      to_match: {($ VSub_Name '$arg')}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(Lit_Other '*') (.la)} {(Lit_Other '*') (.lo)}]
                                          spids: [28653 28660 28662 -1]
                                        )
                                        (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: [28688]
                                                        )
                                                      ]
                                                      spids: [28688]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:export_dynamic)
                                                          op: Equal
                                                          rhs: {(yes)}
                                                          spids: [28692]
                                                        )
                                                      ]
                                                      spids: [28692]
                                                    )
                                                  ]
                                                  spids: [-1 28685]
                                                )
                                              ]
                                              spids: [-1 28696]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:prev)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [28699]
                                                )
                                              ]
                                              spids: [28699]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [28668 28669 28705 -1]
                                        )
                                        (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: [28728]
                                                        )
                                                      ]
                                                      spids: [28728]
                                                    )
                                                  ]
                                                  spids: [-1 28725]
                                                )
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (AndOr
                                                          children: [
                                                            (C {(test)} {(dlfiles)} {(Lit_Other '=')} 
                                                              {(DQ ($ VSub_Name '$prev'))}
                                                            )
                                                            (C {(test)} {(yes)} 
                                                              {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$dlopen_self'))}
                                                            )
                                                          ]
                                                          op_id: Op_DAmp
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:dlself)
                                                          op: Equal
                                                          rhs: {(yes)}
                                                          spids: [28761]
                                                        )
                                                      ]
                                                      spids: [28761]
                                                    )
                                                  ]
                                                  spids: [28732 28758]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:dlself)
                                                      op: Equal
                                                      rhs: {(needless)}
                                                      spids: [28768]
                                                    )
                                                  ]
                                                  spids: [28768]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:export_dynamic)
                                                      op: Equal
                                                      rhs: {(yes)}
                                                      spids: [28772]
                                                    )
                                                  ]
                                                  spids: [28772]
                                                )
                                              ]
                                              spids: [28765 28776]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:prev)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [28779]
                                                )
                                              ]
                                              spids: [28779]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [28708 28709 28785 -1]
                                        )
                                        (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: [-1 28805]
                                                )
                                              ]
                                              else_action: [
                                                (C {(func_append)} {(dlprefiles)} 
                                                  {(DQ (' ') ($ VSub_Name '$arg'))}
                                                )
                                              ]
                                              spids: [28818 28831]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:prev)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [28834]
                                                )
                                              ]
                                              spids: [28834]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [28788 28789 28840 -1]
                                        )
                                      ]
                                      spids: [28646 28650 28843]
                                    )
                                  ]
                                  spids: [28604 28607 28846 -1]
                                )
                                (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: [28853]
                                        )
                                      ]
                                      spids: [28853]
                                    )
                                    (AndOr
                                      children: [
                                        (C {(test)} {(-f)} {(DQ ($ VSub_Name '$arg'))})
                                        (C {(func_fatal_error)} 
                                          {
                                            (DQ ("symbol file '") ($ VSub_Name '$arg') 
                                              ("' does not exist")
                                            )
                                          }
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [28878]
                                        )
                                      ]
                                      spids: [28878]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [28849 28850 28884 -1]
                                )
                                (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: [28891]
                                        )
                                      ]
                                      spids: [28891]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [28895]
                                        )
                                      ]
                                      spids: [28895]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [28887 28888 28901 -1]
                                )
                                (case_arm
                                  pat_list: [{(framework)}]
                                  action: [
                                    (Case
                                      to_match: {($ VSub_Name '$host')}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-darwin) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          action: [
                                            (Case
                                              to_match: {(DQ ($ VSub_Name '$deplibs') (' '))}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other '*') 
                                                      (DQ (' ') ($ VSub_Name '$qarg') ('.ltframework ')) (Lit_Other '*')
                                                    }
                                                  ]
                                                  spids: [28933 28940 28942 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (C {(func_append)} {(deplibs)} 
                                                      {
                                                        (DQ (' ') ($ VSub_Name '$qarg') (.ltframework))
                                                      }
                                                    )
                                                  ]
                                                  spids: [28945 28946 28962 -1]
                                                )
                                              ]
                                              spids: [28923 28930 28965]
                                            )
                                          ]
                                          spids: [28915 28920 28968 -1]
                                        )
                                      ]
                                      spids: [28908 28912 28971]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [28974]
                                        )
                                      ]
                                      spids: [28974]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [28904 28905 28980 -1]
                                )
                                (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: [28987]
                                        )
                                      ]
                                      spids: [28987]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [28991]
                                        )
                                      ]
                                      spids: [28991]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [28983 28984 28997 -1]
                                )
                                (case_arm
                                  pat_list: [{(mllvm)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [29012]
                                        )
                                      ]
                                      spids: [29012]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [29000 29001 29018 -1]
                                )
                                (case_arm
                                  pat_list: [{(objectlist)}]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: (C {(test)} {(-f)} {(DQ ($ VSub_Name '$arg'))})
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:save_arg)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$arg')}
                                                  spids: [29039]
                                                )
                                              ]
                                              spids: [29039]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:moreargs)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [29043]
                                                )
                                              ]
                                              spids: [29043]
                                            )
                                            (ForEach
                                              iter_name: fil
                                              iter_words: [
                                                {
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (C {(cat)} {(DQ ($ VSub_Name '$save_arg'))})
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick '`'>
                                                    spids: [29052 29058]
                                                  )
                                                }
                                              ]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:arg)
                                                          op: Equal
                                                          rhs: {($ VSub_Name '$fil')}
                                                          spids: [29067]
                                                        )
                                                      ]
                                                      spids: [29067]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(func_lalib_unsafe_p)} 
                                                                  {(DQ ($ VSub_Name '$arg'))}
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:pic_object)
                                                                  op: Equal
                                                                  rhs: {(SQ )}
                                                                  spids: [29092]
                                                                )
                                                              ]
                                                              spids: [29092]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:non_pic_object)
                                                                  op: Equal
                                                                  rhs: {(SQ )}
                                                                  spids: [29095]
                                                                )
                                                              ]
                                                              spids: [29095]
                                                            )
                                                            (C {(func_source)} 
                                                              {(DQ ($ VSub_Name '$arg'))}
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (AndOr
                                                                          children: [
                                                                            (C {(test)} {(-z)} 
                                                                              {
                                                                                (DQ 
                                                                                  ($ VSub_Name 
'$pic_object'
                                                                                  )
                                                                                )
                                                                              }
                                                                            )
                                                                            (AndOr
                                                                              children: [
                                                                                (C {(test)} {(-z)} 
                                                                                  {
                                                                                    (DQ 
                                                                                      ($ VSub_Name 
'$non_pic_object'
                                                                                      )
                                                                                    )
                                                                                  }
                                                                                )
                                                                                (AndOr
                                                                                  children: [
                                                                                    (C {(test)} 
                                                                                      {(none)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$pic_object'))}
                                                                                    )
                                                                                    (C {(test)} 
                                                                                      {(none)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$non_pic_object'))}
                                                                                    )
                                                                                  ]
                                                                                  op_id: Op_DAmp
                                                                                )
                                                                              ]
                                                                              op_id: Op_DPipe
                                                                            )
                                                                          ]
                                                                          op_id: Op_DPipe
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (C {(func_fatal_error)} 
                                                                      {
                                                                        (DQ 
                                                                          (
"cannot find name of object for '"
                                                                          ) ($ VSub_Name '$arg') ("'")
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [-1 29159]
                                                                )
                                                              ]
                                                              spids: [-1 29171]
                                                            )
                                                            (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: [29193]
                                                                )
                                                              ]
                                                              spids: [29193]
                                                            )
                                                            (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: [29219]
                                                                        )
                                                                      ]
                                                                      spids: [29219]
                                                                    )
                                                                    (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
                                                                                          children: [
                                                                                            (C 
                                                                                              {
                                                                                                (
test
                                                                                                )
                                                                                              } {(yes)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$build_libtool_libs'))}
                                                                                            )
                                                                                            (C 
                                                                                              {
                                                                                                (
test
                                                                                                )
                                                                                              } {(yes)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$dlopen_support'))}
                                                                                            )
                                                                                          ]
                                                                                          op_id: 
Op_DAmp
                                                                                        )
                                                                                      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: {(SQ )}
                                                                                          spids: [
29279
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [29279]
                                                                                    )
                                                                                    (ControlFlow
                                                                                      token: 
                                                                                        <
ControlFlow_Continue continue
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  spids: [-1 29266]
                                                                                )
                                                                              ]
                                                                              else_action: [
                                                                                (Assignment
                                                                                  keyword: 
Assign_None
                                                                                  pairs: [
                                                                                    (assign_pair
                                                                                      lhs: 
                                                                                        (LhsName
                                                                                          name: prev
                                                                                        )
                                                                                      op: Equal
                                                                                      rhs: 
                                                                                        {
                                                                                          (
dlprefiles
                                                                                          )
                                                                                        }
                                                                                      spids: [29292]
                                                                                    )
                                                                                  ]
                                                                                  spids: [29292]
                                                                                )
                                                                              ]
                                                                              spids: [29285 29296]
                                                                            )
                                                                          ]
                                                                          spids: [-1 29238]
                                                                        )
                                                                      ]
                                                                      spids: [-1 29299]
                                                                    )
                                                                    (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: {(SQ )}
                                                                                  spids: [29337]
                                                                                )
                                                                              ]
                                                                              spids: [29337]
                                                                            )
                                                                          ]
                                                                          spids: [-1 29320]
                                                                        )
                                                                      ]
                                                                      spids: [-1 29340]
                                                                    )
                                                                    (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: [29358]
                                                                        )
                                                                      ]
                                                                      spids: [29358]
                                                                    )
                                                                  ]
                                                                  spids: [-1 29212]
                                                                )
                                                              ]
                                                              spids: [-1 29362]
                                                            )
                                                            (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: [29391]
                                                                        )
                                                                      ]
                                                                      spids: [29391]
                                                                    )
                                                                    (C {(func_append)} 
                                                                      {(non_pic_objects)} {(DQ (' ') ($ VSub_Name '$non_pic_object'))}
                                                                    )
                                                                    (If
                                                                      arms: [
                                                                        (if_arm
                                                                          cond: [
                                                                            (Sentence
                                                                              child: 
                                                                                (AndOr
                                                                                  children: [
                                                                                    (C {(test)} {(-z)} 
                                                                                      {
                                                                                        (DQ 
                                                                                          ($ 
VSub_Name '$pic_object'
                                                                                          )
                                                                                        )
                                                                                      }
                                                                                    )
                                                                                    (C {(test)} 
                                                                                      {(none)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$pic_object'))}
                                                                                    )
                                                                                  ]
                                                                                  op_id: Op_DPipe
                                                                                )
                                                                              terminator: 
                                                                                <Op_Semi ';'>
                                                                            )
                                                                          ]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: arg
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      ($ VSub_Name 
'$non_pic_object'
                                                                                      )
                                                                                    }
                                                                                  spids: [29437]
                                                                                )
                                                                              ]
                                                                              spids: [29437]
                                                                            )
                                                                          ]
                                                                          spids: [-1 29434]
                                                                        )
                                                                      ]
                                                                      spids: [-1 29441]
                                                                    )
                                                                  ]
                                                                  spids: [-1 29384]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: 
                                                                        (LhsName
                                                                          name: non_pic_object
                                                                        )
                                                                      op: Equal
                                                                      rhs: 
                                                                        {
                                                                          ($ VSub_Name '$pic_object')
                                                                        }
                                                                      spids: [29455]
                                                                    )
                                                                  ]
                                                                  spids: [29455]
                                                                )
                                                                (C {(func_append)} {(non_pic_objects)} 
                                                                  {
                                                                    (DQ (' ') 
                                                                      ($ VSub_Name '$non_pic_object')
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                              spids: [29444 29469]
                                                            )
                                                          ]
                                                          spids: [-1 29089]
                                                        )
                                                      ]
                                                      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: [29505]
                                                                    )
                                                                  ]
                                                                  spids: [29505]
                                                                )
                                                                (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: [29517]
                                                                    )
                                                                  ]
                                                                  spids: [29517]
                                                                )
                                                                (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: [29524]
                                                                    )
                                                                  ]
                                                                  spids: [29524]
                                                                )
                                                                (C {(func_append)} {(libobjs)} 
                                                                  {
                                                                    (DQ (' ') 
                                                                      ($ VSub_Name '$pic_object')
                                                                    )
                                                                  }
                                                                )
                                                                (C {(func_append)} {(non_pic_objects)} 
                                                                  {
                                                                    (DQ (' ') 
                                                                      ($ VSub_Name '$non_pic_object')
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                              spids: [-1 29484]
                                                            )
                                                          ]
                                                          else_action: [
                                                            (C {(func_fatal_error)} 
                                                              {
                                                                (DQ ("'") ($ VSub_Name '$arg') 
                                                                  (
"' is not a valid libtool object"
                                                                  )
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [29549 29561]
                                                        )
                                                      ]
                                                      spids: [29472 29564]
                                                    )
                                                  ]
                                                  spids: [29061 29567]
                                                )
                                              spids: [29051 -1]
                                            )
                                          ]
                                          spids: [-1 29036]
                                        )
                                      ]
                                      else_action: [
                                        (C {(func_fatal_error)} 
                                          {
                                            (DQ ("link input file '") ($ VSub_Name '$arg') 
                                              ("' does not exist")
                                            )
                                          }
                                        )
                                      ]
                                      spids: [29570 29582]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:arg)
                                          op: Equal
                                          rhs: {($ VSub_Name '$save_arg')}
                                          spids: [29585]
                                        )
                                      ]
                                      spids: [29585]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [29589]
                                        )
                                      ]
                                      spids: [29589]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [29021 29022 29595 -1]
                                )
                                (case_arm
                                  pat_list: [{(os2dllname)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:os2dllname)
                                          op: Equal
                                          rhs: {($ VSub_Name '$arg')}
                                          spids: [29602]
                                        )
                                      ]
                                      spids: [29602]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [29606]
                                        )
                                      ]
                                      spids: [29606]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [29598 29599 29612 -1]
                                )
                                (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: [29619]
                                        )
                                      ]
                                      spids: [29619]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [29623]
                                        )
                                      ]
                                      spids: [29623]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [29615 29616 29629 -1]
                                )
                                (case_arm
                                  pat_list: [{(release)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:release)
                                          op: Equal
                                          rhs: {(-) ($ VSub_Name '$arg')}
                                          spids: [29636]
                                        )
                                      ]
                                      spids: [29636]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [29641]
                                        )
                                      ]
                                      spids: [29641]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [29632 29633 29647 -1]
                                )
                                (case_arm
                                  pat_list: [{(rpath)} {(xrpath)}]
                                  action: [
                                    (Case
                                      to_match: {($ VSub_Name '$arg')}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '[') 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar '\\\\'>
                                              ) (/) (Lit_Other ']') (Lit_Other '*')
                                            }
                                            {(Lit_Other '[') (A-Za-z) (Lit_Other ']') (Lit_Other ':') 
                                              (Lit_Other '[') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (/) (Lit_Other ']') (Lit_Other '*')
                                            }
                                          ]
                                          spids: [29669 29686 29688 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_fatal_error)} 
                                              {(DQ ('only absolute run-paths are allowed'))}
                                            )
                                          ]
                                          spids: [29691 29692 29702 -1]
                                        )
                                      ]
                                      spids: [29662 29666 29705]
                                    )
                                    (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: [29734 29741 29743 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (C {(func_append)} {(rpath)} 
                                                      {(DQ (' ') ($ VSub_Name '$arg'))}
                                                    )
                                                  ]
                                                  spids: [29746 29747 29758 -1]
                                                )
                                              ]
                                              spids: [29724 29731 29761]
                                            )
                                          ]
                                          spids: [-1 29721]
                                        )
                                      ]
                                      else_action: [
                                        (Case
                                          to_match: {(DQ ($ VSub_Name '$xrpath') (' '))}
                                          arms: [
                                            (case_arm
                                              pat_list: [
                                                {(Lit_Other '*') 
                                                  (DQ (' ') ($ VSub_Name '$arg') (' ')) (Lit_Other '*')
                                                }
                                              ]
                                              spids: [29777 29784 29786 -1]
                                            )
                                            (case_arm
                                              pat_list: [{(Lit_Other '*')}]
                                              action: [
                                                (C {(func_append)} {(xrpath)} 
                                                  {(DQ (' ') ($ VSub_Name '$arg'))}
                                                )
                                              ]
                                              spids: [29789 29790 29801 -1]
                                            )
                                          ]
                                          spids: [29767 29774 29804]
                                        )
                                      ]
                                      spids: [29764 29807]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [29810]
                                        )
                                      ]
                                      spids: [29810]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [29650 29655 29816 -1]
                                )
                                (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: [29823]
                                        )
                                      ]
                                      spids: [29823]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [29827]
                                        )
                                      ]
                                      spids: [29827]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [29819 29820 29833 -1]
                                )
                                (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: {(SQ )}
                                          spids: [29850]
                                        )
                                      ]
                                      spids: [29850]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [29836 29837 29856 -1]
                                )
                                (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: {(SQ )}
                                          spids: [29883]
                                        )
                                      ]
                                      spids: [29883]
                                    )
                                    (C {(func_append)} {(compile_command)} 
                                      {(DQ (' ') ($ VSub_Name '$qarg'))}
                                    )
                                    (C {(func_append)} {(finalize_command)} 
                                      {(DQ (' ') ($ VSub_Name '$qarg'))}
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [29859 29860 29909 -1]
                                )
                                (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: {(SQ )}
                                          spids: [29926]
                                        )
                                      ]
                                      spids: [29926]
                                    )
                                    (C {(func_append)} {(compile_command)} 
                                      {(DQ (' ') ($ VSub_Name '$qarg'))}
                                    )
                                    (C {(func_append)} {(finalize_command)} 
                                      {(DQ (' ') ($ VSub_Name '$qarg'))}
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [29912 29913 29952 -1]
                                )
                                (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: {(SQ )}
                                          spids: [29980]
                                        )
                                      ]
                                      spids: [29980]
                                    )
                                    (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: [29955 29956 30008 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(eval)} 
                                      {
                                        (DQ ($ VSub_Name '$prev') ('=') 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\"'>
                                          ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (arg) 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\"'>
                                          )
                                        )
                                      }
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [30027]
                                        )
                                      ]
                                      spids: [30027]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [30011 30012 30033 -1]
                                )
                              ]
                              spids: [28580 28584 30036]
                            )
                          ]
                          spids: [-1 28541]
                        )
                      ]
                      spids: [-1 30039]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:prevarg)
                          op: Equal
                          rhs: {($ VSub_Name '$arg')}
                          spids: [30046]
                        )
                      ]
                      spids: [30046]
                    )
                    (Case
                      to_match: {($ VSub_Name '$arg')}
                      arms: [
                        (case_arm
                          pat_list: [{(-all-static)}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$link_static_flag'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_append)} {(compile_command)} 
                                      {(DQ (' ') ($ VSub_Name '$link_static_flag'))}
                                    )
                                    (C {(func_append)} {(finalize_command)} 
                                      {(DQ (' ') ($ VSub_Name '$link_static_flag'))}
                                    )
                                  ]
                                  spids: [-1 30073]
                                )
                              ]
                              spids: [-1 30100]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [30058 30059 30106 -1]
                        )
                        (case_arm
                          pat_list: [{(-allow-undefined)}]
                          action: [
                            (C {(func_fatal_error)} 
                              {
                                (DQ ("'-allow-undefined' must not be used because it is the default"))
                              }
                            )
                          ]
                          spids: [30110 30111 30125 -1]
                        )
                        (case_arm
                          pat_list: [{(-avoid-version)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:avoid_version)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [30133]
                                )
                              ]
                              spids: [30133]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [30129 30130 30140 -1]
                        )
                        (case_arm
                          pat_list: [{(-bindir)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(bindir)}
                                  spids: [30148]
                                )
                              ]
                              spids: [30148]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [30144 30145 30155 -1]
                        )
                        (case_arm
                          pat_list: [{(-dlopen)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(dlfiles)}
                                  spids: [30163]
                                )
                              ]
                              spids: [30163]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [30159 30160 30170 -1]
                        )
                        (case_arm
                          pat_list: [{(-dlpreopen)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(dlprefiles)}
                                  spids: [30178]
                                )
                              ]
                              spids: [30178]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [30174 30175 30185 -1]
                        )
                        (case_arm
                          pat_list: [{(-export-dynamic)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:export_dynamic)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [30193]
                                )
                              ]
                              spids: [30193]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [30189 30190 30200 -1]
                        )
                        (case_arm
                          pat_list: [{(-export-symbols)} {(-export-symbols-regex)}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$export_symbols'))})
                                            (C {(test)} {(-n)} 
                                              {(DQ ($ VSub_Name '$export_symbols_regex'))}
                                            )
                                          ]
                                          op_id: Op_DPipe
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_fatal_error)} 
                                      {
                                        (DQ 
                                          (
'more than one -exported-symbols argument is not allowed'
                                          )
                                        )
                                      }
                                    )
                                  ]
                                  spids: [-1 30233]
                                )
                              ]
                              spids: [-1 30243]
                            )
                            (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: [30263]
                                        )
                                      ]
                                      spids: [30263]
                                    )
                                  ]
                                  spids: [-1 30260]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:prev)
                                      op: Equal
                                      rhs: {(expsyms_regex)}
                                      spids: [30270]
                                    )
                                  ]
                                  spids: [30270]
                                )
                              ]
                              spids: [30267 30274]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [30204 30209 30280 -1]
                        )
                        (case_arm
                          pat_list: [{(-framework)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(framework)}
                                  spids: [30288]
                                )
                              ]
                              spids: [30288]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [30284 30285 30295 -1]
                        )
                        (case_arm
                          pat_list: [{(-inst-prefix-dir)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(inst_prefix)}
                                  spids: [30303]
                                )
                              ]
                              spids: [30303]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [30299 30300 30310 -1]
                        )
                        (case_arm
                          pat_list: [
                            {(-L) (Lit_Other '[') (A-Z) (Lit_Other ']') (Lit_Other '[') (A-Z) 
                              (Lit_Other ']') (Lit_Other '*') (Lit_Other ':') (Lit_Other '*')
                            }
                          ]
                          action: [
                            (Case
                              to_match: {($ VSub_Name '$with_gcc') (/) ($ VSub_Name '$host')}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(no/) (Lit_Other '*') (-) (Lit_Other '*') (-irix) (Lit_Other '*')}
                                    {(/) (Lit_Other '*') (-) (Lit_Other '*') (-irix) (Lit_Other '*')}
                                  ]
                                  action: [
                                    (C {(func_append)} {(compile_command)} 
                                      {(DQ (' ') ($ VSub_Name '$arg'))}
                                    )
                                    (C {(func_append)} {(finalize_command)} 
                                      {(DQ (' ') ($ VSub_Name '$arg'))}
                                    )
                                  ]
                                  spids: [30344 30359 30382 -1]
                                )
                              ]
                              spids: [30335 30341 30385]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [30322 30332 30391 -1]
                        )
                        (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: [-1 30441]
                                        )
                                      ]
                                      else_action: [
                                        (C {(func_fatal_error)} {(DQ ("need path for '-L' option"))})
                                      ]
                                      spids: [30453 30463]
                                    )
                                  ]
                                  spids: [-1 30425]
                                )
                              ]
                              spids: [-1 30466]
                            )
                            (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: [30476]
                                )
                              ]
                              spids: [30476]
                            )
                            (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: [30491 30508 30510 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:absdir)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (AndOr
                                                        children: [
                                                          (C {(cd)} {(DQ ($ VSub_Name '$dir'))})
                                                          (C {(pwd)})
                                                        ]
                                                        op_id: Op_DAmp
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [30518 30528]
                                              )
                                            }
                                          spids: [30517]
                                        )
                                      ]
                                      spids: [30517]
                                    )
                                    (AndOr
                                      children: [
                                        (C {(test)} {(-z)} {(DQ ($ VSub_Name '$absdir'))})
                                        (C {(func_fatal_error)} 
                                          {
                                            (DQ ("cannot determine absolute directory name of '") 
                                              ($ VSub_Name '$dir') ("'")
                                            )
                                          }
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dir)
                                          op: Equal
                                          rhs: {($ VSub_Name '$absdir')}
                                          spids: [30552]
                                        )
                                      ]
                                      spids: [30552]
                                    )
                                  ]
                                  spids: [30513 30514 30556 -1]
                                )
                              ]
                              spids: [30484 30488 30559]
                            )
                            (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: [30572 30589 30596 -1]
                                )
                                (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: [30614 30636 30647 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_append)} {(deplibs)} 
                                              {(DQ (' -L') ($ VSub_Name '$dir'))}
                                            )
                                          ]
                                          spids: [30650 30651 30662 -1]
                                        )
                                      ]
                                      spids: [30607 30611 30665]
                                    )
                                    (C {(func_append)} {(lib_search_path)} 
                                      {(DQ (' ') ($ VSub_Name '$dir'))}
                                    )
                                  ]
                                  spids: [30599 30600 30678 -1]
                                )
                              ]
                              spids: [30562 30569 30681]
                            )
                            (Case
                              to_match: {($ VSub_Name '$host')}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (-) (Lit_Other '*') (-cygwin) (Lit_Other '*')}
                                    {(Lit_Other '*') (-) (Lit_Other '*') (-mingw) (Lit_Other '*')}
                                    {(Lit_Other '*') (-) (Lit_Other '*') (-pw32) (Lit_Other '*')}
                                    {(Lit_Other '*') (-) (Lit_Other '*') (-os2) (Lit_Other '*')}
                                    {(Lit_Other '*') (-cegcc) (Lit_Other '*')}
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:testbindir)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {($ VSub_Name '$ECHO')} 
                                                            {(DQ ($ VSub_Name '$dir'))}
                                                          )
                                                          (C {($ VSub_Name '$SED')} 
                                                            {(SQ <'s*/lib$*/bin*'>)}
                                                          )
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [30730 30744]
                                              )
                                            }
                                          spids: [30729]
                                        )
                                      ]
                                      spids: [30729]
                                    )
                                    (Case
                                      to_match: 
                                        {(Lit_Other ':') ($ VSub_Name '$dllsearchpath') 
                                          (Lit_Other ':')
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (DQ (':') ($ VSub_Name '$dir') (':')) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [30756 30763 30765 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other ':') (Lit_Other ':')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dllsearchpath)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$dir')}
                                                  spids: [30772]
                                                )
                                              ]
                                              spids: [30772]
                                            )
                                          ]
                                          spids: [30768 30770 30774 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_append)} {(dllsearchpath)} 
                                              {(DQ (':') ($ VSub_Name '$dir'))}
                                            )
                                          ]
                                          spids: [30777 30778 30788 -1]
                                        )
                                      ]
                                      spids: [30747 30753 30791]
                                    )
                                    (Case
                                      to_match: 
                                        {(Lit_Other ':') ($ VSub_Name '$dllsearchpath') 
                                          (Lit_Other ':')
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') 
                                              (DQ (':') ($ VSub_Name '$testbindir') (':')) (Lit_Other '*')
                                            }
                                          ]
                                          spids: [30803 30810 30812 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other ':') (Lit_Other ':')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dllsearchpath)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$testbindir')}
                                                  spids: [30819]
                                                )
                                              ]
                                              spids: [30819]
                                            )
                                          ]
                                          spids: [30815 30817 30821 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_append)} {(dllsearchpath)} 
                                              {(DQ (':') ($ VSub_Name '$testbindir'))}
                                            )
                                          ]
                                          spids: [30824 30825 30835 -1]
                                        )
                                      ]
                                      spids: [30794 30800 30838]
                                    )
                                  ]
                                  spids: [30691 30726 30841 -1]
                                )
                              ]
                              spids: [30684 30688 30844]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [30395 30397 30850 -1]
                        )
                        (case_arm
                          pat_list: [{(-l) (Lit_Other '*')}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} {(X-lc)} {(Lit_Other '=')} 
                                              {(DQ (X) ($ VSub_Name '$arg'))}
                                            )
                                            (C {(test)} {(X-lm)} {(Lit_Other '=')} 
                                              {(DQ (X) ($ VSub_Name '$arg'))}
                                            )
                                          ]
                                          op_id: Op_DPipe
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Case
                                      to_match: {($ VSub_Name '$host')}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-cygwin) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-mingw) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-pw32) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-beos) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-cegcc) (Lit_Other '*')}
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-haiku) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                                          spids: [30896 30939 30949 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-os2) (Lit_Other '*')}
                                          ]
                                          action: [
                                            (AndOr
                                              children: [
                                                (C {(test)} {(X-lc)} {(Lit_Other '=')} 
                                                  {(DQ (X) ($ VSub_Name '$arg'))}
                                                )
                                                (ControlFlow
                                                  token: <ControlFlow_Continue continue>
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          ]
                                          spids: [30952 30957 30980 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-openbsd) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-freebsd) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-dragonfly) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-bitrig) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          action: [
                                            (AndOr
                                              children: [
                                                (C {(test)} {(X-lc)} {(Lit_Other '=')} 
                                                  {(DQ (X) ($ VSub_Name '$arg'))}
                                                )
                                                (ControlFlow
                                                  token: <ControlFlow_Continue continue>
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          ]
                                          spids: [30983 31012 31035 -1]
                                        )
                                        (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: [31038 31053 31072 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-sco3.2v5) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-sco5v6) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          action: [
                                            (AndOr
                                              children: [
                                                (C {(test)} {(X-lc)} {(Lit_Other '=')} 
                                                  {(DQ (X) ($ VSub_Name '$arg'))}
                                                )
                                                (ControlFlow
                                                  token: <ControlFlow_Continue continue>
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          ]
                                          spids: [31075 31088 31111 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-sysv4.2uw2) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-sysv5) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-unixware) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-OpenUNIX) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          action: [
                                            (AndOr
                                              children: [
                                                (C {(test)} {(X-lc)} {(Lit_Other '=')} 
                                                  {(DQ (X) ($ VSub_Name '$arg'))}
                                                )
                                                (ControlFlow
                                                  token: <ControlFlow_Continue continue>
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          ]
                                          spids: [31114 31143 31166 -1]
                                        )
                                      ]
                                      spids: [30889 30893 31169]
                                    )
                                  ]
                                  spids: [-1 30886]
                                )
                                (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: [31196 31225 31235 -1]
                                        )
                                      ]
                                      spids: [31189 31193 31238]
                                    )
                                  ]
                                  spids: [31172 31186]
                                )
                              ]
                              spids: [-1 31241]
                            )
                            (C {(func_append)} {(deplibs)} {(DQ (' ') ($ VSub_Name '$arg'))})
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [30854 30856 31257 -1]
                        )
                        (case_arm
                          pat_list: [{(-mllvm)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(mllvm)}
                                  spids: [31265]
                                )
                              ]
                              spids: [31265]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31261 31262 31272 -1]
                        )
                        (case_arm
                          pat_list: [{(-module)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:module)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [31280]
                                )
                              ]
                              spids: [31280]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31276 31277 31287 -1]
                        )
                        (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: [31343]
                                )
                              ]
                              spids: [31343]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31303 31310 31350 -1]
                        )
                        (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: [31429 31436 31438 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(func_append)} {(new_inherited_linker_flags)} 
                                      {(DQ (' ') ($ VSub_Name '$arg'))}
                                    )
                                  ]
                                  spids: [31441 31443 31454 -1]
                                )
                              ]
                              spids: [31419 31426 31457]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31354 31386 31463 -1]
                        )
                        (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: [31471]
                                )
                              ]
                              spids: [31471]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31467 31468 31479 -1]
                        )
                        (case_arm
                          pat_list: [{(-no-fast-install)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:fast_install)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [31487]
                                )
                              ]
                              spids: [31487]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31483 31484 31494 -1]
                        )
                        (case_arm
                          pat_list: [{(-no-install)}]
                          action: [
                            (Case
                              to_match: {($ VSub_Name '$host')}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (-) (Lit_Other '*') (-cygwin) (Lit_Other '*')}
                                    {(Lit_Other '*') (-) (Lit_Other '*') (-mingw) (Lit_Other '*')}
                                    {(Lit_Other '*') (-) (Lit_Other '*') (-pw32) (Lit_Other '*')}
                                    {(Lit_Other '*') (-) (Lit_Other '*') (-os2) (Lit_Other '*')}
                                    {(Lit_Other '*') (-) (Lit_Other '*') (-darwin) (Lit_Other '*')}
                                    {(Lit_Other '*') (-cegcc) (Lit_Other '*')}
                                  ]
                                  action: [
                                    (C {(func_warning)} 
                                      {(DQ ("'-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: [31578]
                                        )
                                      ]
                                      spids: [31578]
                                    )
                                  ]
                                  spids: [31509 31552 31582 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:no_install)
                                          op: Equal
                                          rhs: {(yes)}
                                          spids: [31588]
                                        )
                                      ]
                                      spids: [31588]
                                    )
                                  ]
                                  spids: [31585 31586 31591 -1]
                                )
                              ]
                              spids: [31502 31506 31594]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31498 31499 31600 -1]
                        )
                        (case_arm
                          pat_list: [{(-no-undefined)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:allow_undefined)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [31608]
                                )
                              ]
                              spids: [31608]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31604 31605 31615 -1]
                        )
                        (case_arm
                          pat_list: [{(-objectlist)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(objectlist)}
                                  spids: [31623]
                                )
                              ]
                              spids: [31623]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31619 31620 31630 -1]
                        )
                        (case_arm
                          pat_list: [{(-os2dllname)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(os2dllname)}
                                  spids: [31638]
                                )
                              ]
                              spids: [31638]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31634 31635 31645 -1]
                        )
                        (case_arm
                          pat_list: [{(-o)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(output)}
                                  spids: [31652]
                                )
                              ]
                              spids: [31652]
                            )
                          ]
                          spids: [31649 31650 31655 -1]
                        )
                        (case_arm
                          pat_list: [{(-precious-files-regex)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(precious_regex)}
                                  spids: [31663]
                                )
                              ]
                              spids: [31663]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31659 31660 31670 -1]
                        )
                        (case_arm
                          pat_list: [{(-release)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(release)}
                                  spids: [31678]
                                )
                              ]
                              spids: [31678]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31674 31675 31685 -1]
                        )
                        (case_arm
                          pat_list: [{(-rpath)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(rpath)}
                                  spids: [31693]
                                )
                              ]
                              spids: [31693]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31689 31690 31700 -1]
                        )
                        (case_arm
                          pat_list: [{(-R)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(xrpath)}
                                  spids: [31708]
                                )
                              ]
                              spids: [31708]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31704 31705 31715 -1]
                        )
                        (case_arm
                          pat_list: [{(-R) (Lit_Other '*')}]
                          action: [
                            (C {(func_stripname)} {(SQ <-R>)} {(SQ )} {(DQ ($ VSub_Name '$arg'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dir)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_stripname_result')}
                                  spids: [31738]
                                )
                              ]
                              spids: [31738]
                            )
                            (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: [31753 31770 31772 -1]
                                )
                                (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: [31794]
                                        )
                                      ]
                                      spids: [31794]
                                    )
                                  ]
                                  spids: [31775 31777 31799 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(func_fatal_error)} 
                                      {(DQ ('only absolute run-paths are allowed'))}
                                    )
                                  ]
                                  spids: [31802 31803 31813 -1]
                                )
                              ]
                              spids: [31746 31750 31816]
                            )
                            (Case
                              to_match: {(DQ ($ VSub_Name '$xrpath') (' '))}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$dir') (' ')) 
                                      (Lit_Other '*')
                                    }
                                  ]
                                  spids: [31829 31836 31838 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(func_append)} {(xrpath)} {(DQ (' ') ($ VSub_Name '$dir'))})
                                  ]
                                  spids: [31841 31842 31853 -1]
                                )
                              ]
                              spids: [31819 31826 31856]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31719 31721 31862 -1]
                        )
                        (case_arm
                          pat_list: [{(-shared)}]
                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                          spids: [31866 31867 31877 -1]
                        )
                        (case_arm
                          pat_list: [{(-shrext)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(shrext)}
                                  spids: [31885]
                                )
                              ]
                              spids: [31885]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31881 31882 31892 -1]
                        )
                        (case_arm
                          pat_list: [{(-static)} {(-static-libtool-libs)}]
                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                          spids: [31896 31901 31927 -1]
                        )
                        (case_arm
                          pat_list: [{(-thread-safe)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:thread_safe)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [31935]
                                )
                              ]
                              spids: [31935]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31931 31932 31942 -1]
                        )
                        (case_arm
                          pat_list: [{(-version-info)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(vinfo)}
                                  spids: [31950]
                                )
                              ]
                              spids: [31950]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31946 31947 31957 -1]
                        )
                        (case_arm
                          pat_list: [{(-version-number)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(vinfo)}
                                  spids: [31965]
                                )
                              ]
                              spids: [31965]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:vinfo_number)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [31969]
                                )
                              ]
                              spids: [31969]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31961 31962 31976 -1]
                        )
                        (case_arm
                          pat_list: [{(-weak)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(weak)}
                                  spids: [31984]
                                )
                              ]
                              spids: [31984]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31980 31981 31991 -1]
                        )
                        (case_arm
                          pat_list: [{(-Wc) (Lit_Comma ',') (Lit_Other '*')}]
                          action: [
                            (C {(func_stripname)} {(SQ <'-Wc,'>)} {(SQ )} {(DQ ($ VSub_Name '$arg'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:args)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_stripname_result')}
                                  spids: [32015]
                                )
                              ]
                              spids: [32015]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [32019]
                                )
                              ]
                              spids: [32019]
                            )
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:save_ifs)
                                      op: Equal
                                      rhs: {($ VSub_Name '$IFS')}
                                      spids: [32022]
                                    )
                                  ]
                                  spids: [32022]
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(Lit_Comma ',')}
                                  spids: [32026]
                                )
                              ]
                              spids: [32026]
                            )
                            (ForEach
                              iter_name: flag
                              iter_words: [{($ VSub_Name '$args')}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {($ VSub_Name '$save_ifs')}
                                          spids: [32042]
                                        )
                                      ]
                                      spids: [32042]
                                    )
                                    (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: [32039 32073]
                                )
                              spids: [32035 32037]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {($ VSub_Name '$save_ifs')}
                                  spids: [32076]
                                )
                              ]
                              spids: [32076]
                            )
                            (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: [32094]
                                )
                              ]
                              spids: [32094]
                            )
                          ]
                          spids: [31995 31998 32098 -1]
                        )
                        (case_arm
                          pat_list: [{(-Wl) (Lit_Comma ',') (Lit_Other '*')}]
                          action: [
                            (C {(func_stripname)} {(SQ <'-Wl,'>)} {(SQ )} {(DQ ($ VSub_Name '$arg'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:args)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_stripname_result')}
                                  spids: [32122]
                                )
                              ]
                              spids: [32122]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [32126]
                                )
                              ]
                              spids: [32126]
                            )
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:save_ifs)
                                      op: Equal
                                      rhs: {($ VSub_Name '$IFS')}
                                      spids: [32129]
                                    )
                                  ]
                                  spids: [32129]
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(Lit_Comma ',')}
                                  spids: [32133]
                                )
                              ]
                              spids: [32133]
                            )
                            (ForEach
                              iter_name: flag
                              iter_words: [{($ VSub_Name '$args')}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {($ VSub_Name '$save_ifs')}
                                          spids: [32149]
                                        )
                                      ]
                                      spids: [32149]
                                    )
                                    (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: [32146 32192]
                                )
                              spids: [32142 32144]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {($ VSub_Name '$save_ifs')}
                                  spids: [32195]
                                )
                              ]
                              spids: [32195]
                            )
                            (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: [32213]
                                )
                              ]
                              spids: [32213]
                            )
                          ]
                          spids: [32102 32105 32217 -1]
                        )
                        (case_arm
                          pat_list: [{(-Xcompiler)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(xcompiler)}
                                  spids: [32225]
                                )
                              ]
                              spids: [32225]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [32221 32222 32232 -1]
                        )
                        (case_arm
                          pat_list: [{(-Xlinker)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(xlinker)}
                                  spids: [32240]
                                )
                              ]
                              spids: [32240]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [32236 32237 32247 -1]
                        )
                        (case_arm
                          pat_list: [{(-XCClinker)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(xcclinker)}
                                  spids: [32255]
                                )
                              ]
                              spids: [32255]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [32251 32252 32262 -1]
                        )
                        (case_arm
                          pat_list: [{(-msg_) (Lit_Other '*')}]
                          action: [
                            (C {(func_quote_for_eval)} {(DQ ($ VSub_Name '$arg'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_quote_for_eval_result')}
                                  spids: [32282]
                                )
                              ]
                              spids: [32282]
                            )
                          ]
                          spids: [32270 32272 32286 -1]
                        )
                        (case_arm
                          pat_list: [
                            {(-64)}
                            {(-mips) (Lit_Other '[') (0-9) (Lit_Other ']')}
                            {(-r) (Lit_Other '[') (0-9) (Lit_Other ']') (Lit_Other '[') (0-9) 
                              (Lit_Other ']') (Lit_Other '*')
                            }
                            {(-xarch) (Lit_Other '=') (Lit_Other '*')}
                            {(-xtarget) (Lit_Other '=') (Lit_Other '*')}
                            {(Lit_Other '+') (DA) (Lit_Other '*')}
                            {(Lit_Other '+') (DD) (Lit_Other '*')}
                            {(-q) (Lit_Other '*')}
                            {(-m) (Lit_Other '*')}
                            {(-t) (Lit_Other '[') (45) (Lit_Other ']') (Lit_Other '*')}
                            {(-txscale) (Lit_Other '*')}
                            {(-p)}
                            {(-pg)}
                            {(--coverage)}
                            {(-fprofile-) (Lit_Other '*')}
                            {(-F) (Lit_Other '*')}
                            {(Lit_Other '@') (Lit_Other '*')}
                            {(-tp) (Lit_Other '=') (Lit_Other '*')}
                            {(--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: [32475]
                                )
                              ]
                              spids: [32475]
                            )
                            (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: [32358 32465 32512 -1]
                        )
                        (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: [32530 32540]
                                              )
                                            )
                                          }
                                        )
                                      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: [32551]
                                        )
                                      ]
                                      spids: [32551]
                                    )
                                    (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: [32594]
                                                )
                                              ]
                                              spids: [32594]
                                            )
                                          ]
                                          spids: [32586 32591 32598 -1]
                                        )
                                      ]
                                      spids: [32579 32583 32601]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [-1 32544]
                                )
                              ]
                              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: [32621]
                                    )
                                  ]
                                  spids: [32621]
                                )
                              ]
                              spids: [32607 32625]
                            )
                          ]
                          spids: [32516 32518 32628 -1]
                        )
                        (case_arm
                          pat_list: [{(-) (Lit_Other '*')} {(Lit_Other '+') (Lit_Other '*')}]
                          action: [
                            (C {(func_quote_for_eval)} {(DQ ($ VSub_Name '$arg'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_quote_for_eval_result')}
                                  spids: [32653]
                                )
                              ]
                              spids: [32653]
                            )
                          ]
                          spids: [32636 32643 32657 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.) ($ VSub_Name '$objext')}]
                          action: [(C {(func_append)} {(objs)} {(DQ (' ') ($ VSub_Name '$arg'))})]
                          spids: [32661 32664 32681 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.lo)}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(func_lalib_unsafe_p)} {(DQ ($ VSub_Name '$arg'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:pic_object)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [32711]
                                        )
                                      ]
                                      spids: [32711]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:non_pic_object)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [32714]
                                        )
                                      ]
                                      spids: [32714]
                                    )
                                    (C {(func_source)} {(DQ ($ VSub_Name '$arg'))})
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-z)} {(DQ ($ VSub_Name '$pic_object'))})
                                                    (AndOr
                                                      children: [
                                                        (C {(test)} {(-z)} 
                                                          {(DQ ($ VSub_Name '$non_pic_object'))}
                                                        )
                                                        (AndOr
                                                          children: [
                                                            (C {(test)} {(none)} {(Lit_Other '=')} 
                                                              {(DQ ($ VSub_Name '$pic_object'))}
                                                            )
                                                            (C {(test)} {(none)} {(Lit_Other '=')} 
                                                              {(DQ ($ VSub_Name '$non_pic_object'))}
                                                            )
                                                          ]
                                                          op_id: Op_DAmp
                                                        )
                                                      ]
                                                      op_id: Op_DPipe
                                                    )
                                                  ]
                                                  op_id: Op_DPipe
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_fatal_error)} 
                                              {
                                                (DQ ("cannot find name of object for '") 
                                                  ($ VSub_Name '$arg') ("'")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [-1 32778]
                                        )
                                      ]
                                      spids: [-1 32790]
                                    )
                                    (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: [32812]
                                        )
                                      ]
                                      spids: [32812]
                                    )
                                    (AndOr
                                      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: [32836]
                                                )
                                              ]
                                              spids: [32836]
                                            )
                                            (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
                                                                  children: [
                                                                    (C {(test)} {(yes)} 
                                                                      {(Lit_Other '=')} {(DQ ($ VSub_Name '$build_libtool_libs'))}
                                                                    )
                                                                    (C {(test)} {(yes)} 
                                                                      {(Lit_Other '=')} {(DQ ($ VSub_Name '$dlopen_support'))}
                                                                    )
                                                                  ]
                                                                  op_id: Op_DAmp
                                                                )
                                                              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: {(SQ )}
                                                                  spids: [32896]
                                                                )
                                                              ]
                                                              spids: [32896]
                                                            )
                                                            (ControlFlow
                                                              token: <ControlFlow_Continue continue>
                                                            )
                                                          ]
                                                          spids: [-1 32883]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:prev)
                                                              op: Equal
                                                              rhs: {(dlprefiles)}
                                                              spids: [32909]
                                                            )
                                                          ]
                                                          spids: [32909]
                                                        )
                                                      ]
                                                      spids: [32902 32913]
                                                    )
                                                  ]
                                                  spids: [-1 32855]
                                                )
                                              ]
                                              spids: [-1 32916]
                                            )
                                            (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: {(SQ )}
                                                          spids: [32954]
                                                        )
                                                      ]
                                                      spids: [32954]
                                                    )
                                                  ]
                                                  spids: [-1 32937]
                                                )
                                              ]
                                              spids: [-1 32957]
                                            )
                                            (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: [32975]
                                                )
                                              ]
                                              spids: [32975]
                                            )
                                          ]
                                          spids: [32829]
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                    (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: [33008]
                                                )
                                              ]
                                              spids: [33008]
                                            )
                                            (C {(func_append)} {(non_pic_objects)} 
                                              {(DQ (' ') ($ VSub_Name '$non_pic_object'))}
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (AndOr
                                                          children: [
                                                            (C {(test)} {(-z)} 
                                                              {(DQ ($ VSub_Name '$pic_object'))}
                                                            )
                                                            (C {(test)} {(none)} {(Lit_Other '=')} 
                                                              {(DQ ($ VSub_Name '$pic_object'))}
                                                            )
                                                          ]
                                                          op_id: Op_DPipe
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:arg)
                                                          op: Equal
                                                          rhs: {($ VSub_Name '$non_pic_object')}
                                                          spids: [33054]
                                                        )
                                                      ]
                                                      spids: [33054]
                                                    )
                                                  ]
                                                  spids: [-1 33051]
                                                )
                                              ]
                                              spids: [-1 33058]
                                            )
                                          ]
                                          spids: [-1 33001]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:non_pic_object)
                                              op: Equal
                                              rhs: {($ VSub_Name '$pic_object')}
                                              spids: [33072]
                                            )
                                          ]
                                          spids: [33072]
                                        )
                                        (C {(func_append)} {(non_pic_objects)} 
                                          {(DQ (' ') ($ VSub_Name '$non_pic_object'))}
                                        )
                                      ]
                                      spids: [33061 33086]
                                    )
                                  ]
                                  spids: [-1 32708]
                                )
                              ]
                              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: [33122]
                                            )
                                          ]
                                          spids: [33122]
                                        )
                                        (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: [33134]
                                            )
                                          ]
                                          spids: [33134]
                                        )
                                        (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: [33141]
                                            )
                                          ]
                                          spids: [33141]
                                        )
                                        (C {(func_append)} {(libobjs)} 
                                          {(DQ (' ') ($ VSub_Name '$pic_object'))}
                                        )
                                        (C {(func_append)} {(non_pic_objects)} 
                                          {(DQ (' ') ($ VSub_Name '$non_pic_object'))}
                                        )
                                      ]
                                      spids: [-1 33101]
                                    )
                                  ]
                                  else_action: [
                                    (C {(func_fatal_error)} 
                                      {
                                        (DQ ("'") ($ VSub_Name '$arg') 
                                          ("' is not a valid libtool object")
                                        )
                                      }
                                    )
                                  ]
                                  spids: [33166 33178]
                                )
                              ]
                              spids: [33089 33181]
                            )
                          ]
                          spids: [32685 32687 33184 -1]
                        )
                        (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: [33188 33191 33221 -1]
                        )
                        (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: {(SQ )}
                                          spids: [33272]
                                        )
                                      ]
                                      spids: [33272]
                                    )
                                  ]
                                  spids: [-1 33255]
                                )
                                (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: {(SQ )}
                                          spids: [33305]
                                        )
                                      ]
                                      spids: [33305]
                                    )
                                  ]
                                  spids: [33275 33288]
                                )
                              ]
                              else_action: [
                                (C {(func_append)} {(deplibs)} 
                                  {(DQ (' ') ($ VSub_Name '$func_resolve_sysroot_result'))}
                                )
                              ]
                              spids: [33308 33321]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [33225 33227 33327 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (C {(func_quote_for_eval)} {(DQ ($ VSub_Name '$arg'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_quote_for_eval_result')}
                                  spids: [33354]
                                )
                              ]
                              spids: [33354]
                            )
                          ]
                          spids: [33335 33336 33358 -1]
                        )
                      ]
                      spids: [30051 30055 33361]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$arg'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(func_append)} {(compile_command)} {(DQ (' ') ($ VSub_Name '$arg'))})
                            (C {(func_append)} {(finalize_command)} {(DQ (' ') ($ VSub_Name '$arg'))})
                          ]
                          spids: [-1 33383]
                        )
                      ]
                      spids: [-1 33406]
                    )
                  ]
                  spids: [28494 33409]
                )
            )
            (AndOr
              children: [
                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$prev'))})
                (C {(func_fatal_help)} 
                  {(DQ ("the '") ($ VSub_Name '$prevarg') ("' option requires an argument"))}
                )
              ]
              op_id: Op_DAmp
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(test)} {(yes)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$export_dynamic'))})
                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$export_dynamic_flag_spec'))})
                          ]
                          op_id: Op_DAmp
                        )
                      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: [-1 33461]
                )
              ]
              spids: [-1 33492]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:oldlibs) op:Equal rhs:{(SQ )} spids:[33496])]
              spids: [33496]
            )
            (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: [33510]
                )
              ]
              spids: [33510]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libobjs_save)
                  op: Equal
                  rhs: {($ VSub_Name '$libobjs')}
                  spids: [33514]
                )
              ]
              spids: [33514]
            )
            (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: [-1 33530]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:shlib_search_path)
                      op: Equal
                      rhs: {(SQ )}
                      spids: [33567]
                    )
                  ]
                  spids: [33567]
                )
              ]
              spids: [33564 33570]
            )
            (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: [33618]
                )
              ]
              spids: [33618]
            )
            (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: [33631]
                )
              ]
              spids: [33631]
            )
            (C {(func_mkdir_p)} {(DQ ($ VSub_Name '$output_objdir'))})
            (Case
              to_match: {($ VSub_Name '$output')}
              arms: [
                (case_arm
                  pat_list: [{(DQ )}]
                  action: [(C {(func_fatal_help)} {(DQ ('you must specify an output file'))})]
                  spids: [-1 33660 33670 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*') (.) ($ VSub_Name '$libext')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:linkmode)
                          op: Equal
                          rhs: {(oldlib)}
                          spids: [33678]
                        )
                      ]
                      spids: [33678]
                    )
                  ]
                  spids: [33673 33676 33681 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*') (.lo)} {(Lit_Other '*') (.) ($ VSub_Name '$objext')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:linkmode)
                          op: Equal
                          rhs: {(obj)}
                          spids: [33694]
                        )
                      ]
                      spids: [33694]
                    )
                  ]
                  spids: [33684 33692 33697 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*') (.la)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:linkmode)
                          op: Equal
                          rhs: {(lib)}
                          spids: [33704]
                        )
                      ]
                      spids: [33704]
                    )
                  ]
                  spids: [33700 33702 33707 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:linkmode)
                          op: Equal
                          rhs: {(prog)}
                          spids: [33713]
                        )
                      ]
                      spids: [33713]
                    )
                  ]
                  spids: [33710 33711 33716 -1]
                )
              ]
              spids: [33651 33655 33722]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:specialdeplibs)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [33726]
                )
              ]
              spids: [33726]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:libs) op:Equal rhs:{(SQ )} spids:[33730])]
              spids: [33730]
            )
            (ForEach
              iter_name: deplib
              iter_words: [{($ VSub_Name '$deplibs')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {($ VSub_Name '$opt_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: [33771 33778 33789 -1]
                                )
                              ]
                              spids: [33761 33768 33792]
                            )
                          ]
                          spids: [-1 33758]
                        )
                      ]
                      spids: [-1 33795]
                    )
                    (C {(func_append)} {(libs)} {(DQ (' ') ($ VSub_Name '$deplib'))})
                  ]
                  spids: [33750 33808]
                )
              spids: [33746 33748]
            )
            (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: [33828]
                        )
                      ]
                      spids: [33828]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:pre_post_deps)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [33853]
                        )
                      ]
                      spids: [33853]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {($ VSub_Name '$opt_duplicate_compiler_generated_deps')})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (ForEach
                              iter_name: pre_post_dep
                              iter_words: [{($ VSub_Name '$predeps')} {($ VSub_Name '$postdeps')}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Case
                                      to_match: {(DQ ($ VSub_Name '$pre_post_deps') (' '))}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') 
                                              (DQ (' ') ($ VSub_Name '$pre_post_dep') (' ')) (Lit_Other '*')
                                            }
                                          ]
                                          action: [
                                            (C {(func_append)} {(specialdeplibs)} 
                                              {(DQ (' ') ($ VSub_Name '$pre_post_deps'))}
                                            )
                                          ]
                                          spids: [33888 33895 33906 -1]
                                        )
                                      ]
                                      spids: [33878 33885 33909]
                                    )
                                    (C {(func_append)} {(pre_post_deps)} 
                                      {(DQ (' ') ($ VSub_Name '$pre_post_dep'))}
                                    )
                                  ]
                                  spids: [33875 33922]
                                )
                              spids: [33869 33873]
                            )
                          ]
                          spids: [-1 33861]
                        )
                      ]
                      spids: [-1 33925]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:pre_post_deps)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [33928]
                        )
                      ]
                      spids: [33928]
                    )
                  ]
                  spids: [-1 33825]
                )
              ]
              spids: [-1 33931]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:deplibs) op:Equal rhs:{(SQ )} spids:[33935])]
              spids: [33935]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:newdependency_libs)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [33938]
                )
              ]
              spids: [33938]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:newlib_search_path)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [33941]
                )
              ]
              spids: [33941]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:need_relink) op:Equal rhs:{(no)} spids:[33944])]
              spids: [33944]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:notinst_deplibs)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [33951]
                )
              ]
              spids: [33951]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:notinst_path)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [33957]
                )
              ]
              spids: [33957]
            )
            (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: [33975]
                        )
                      ]
                      spids: [33975]
                    )
                    (ForEach
                      iter_name: file
                      iter_words: [{($ VSub_Name '$dlfiles')} {($ VSub_Name '$dlprefiles')}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Case
                              to_match: {($ VSub_Name '$file')}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (.la)}]
                                  spids: [34002 34004 34006 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(func_fatal_help)} 
                                      {
                                        (DQ ("libraries can '-dlopen' only libtool libraries: ") 
                                          ($ VSub_Name '$file')
                                        )
                                      }
                                    )
                                  ]
                                  spids: [34009 34010 34021 -1]
                                )
                              ]
                              spids: [33995 33999 34024]
                            )
                          ]
                          spids: [33992 34027]
                        )
                      spids: [33986 33990]
                    )
                  ]
                  spids: [33971 33972 34030 -1]
                )
                (case_arm
                  pat_list: [{(prog)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:compile_deplibs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [34037]
                        )
                      ]
                      spids: [34037]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:finalize_deplibs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [34040]
                        )
                      ]
                      spids: [34040]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:alldeplibs)
                          op: Equal
                          rhs: {(false)}
                          spids: [34043]
                        )
                      ]
                      spids: [34043]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:newdlfiles)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [34047]
                        )
                      ]
                      spids: [34047]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:newdlprefiles)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [34050]
                        )
                      ]
                      spids: [34050]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:passes)
                          op: Equal
                          rhs: {(DQ ('conv scan dlopen dlpreopen link'))}
                          spids: [34053]
                        )
                      ]
                      spids: [34053]
                    )
                  ]
                  spids: [34033 34034 34059 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:passes)
                          op: Equal
                          rhs: {(DQ (conv))}
                          spids: [34065]
                        )
                      ]
                      spids: [34065]
                    )
                  ]
                  spids: [34062 34063 34071 -1]
                )
              ]
              spids: [33964 33968 34074]
            )
            (ForEach
              iter_name: pass
              iter_words: [{($ VSub_Name '$passes')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(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: {(SQ )}
                                  spids: [34126]
                                )
                              ]
                              spids: [34126]
                            )
                            (ForEach
                              iter_name: deplib
                              iter_words: [{($ VSub_Name '$deplibs')}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_deplibs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$deplib') (' ') 
                                                ($ VSub_Name '$tmp_deplibs')
                                              )
                                            }
                                          spids: [34141]
                                        )
                                      ]
                                      spids: [34141]
                                    )
                                  ]
                                  spids: [34138 34149]
                                )
                              spids: [34134 34136]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$tmp_deplibs')}
                                  spids: [34152]
                                )
                              ]
                              spids: [34152]
                            )
                          ]
                          spids: [-1 34115]
                        )
                      ]
                      spids: [-1 34156]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  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'))}
                                    )
                                  ]
                                  op_id: Op_DPipe
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$deplibs')}
                                  spids: [34197]
                                )
                              ]
                              spids: [34197]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [34201]
                                )
                              ]
                              spids: [34201]
                            )
                          ]
                          spids: [-1 34194]
                        )
                      ]
                      spids: [-1 34204]
                    )
                    (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: [34233]
                                        )
                                      ]
                                      spids: [34233]
                                    )
                                  ]
                                  spids: [34230 34231 34236 -1]
                                )
                                (case_arm
                                  pat_list: [{(dlpreopen)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:libs)
                                          op: Equal
                                          rhs: {($ VSub_Name '$dlprefiles')}
                                          spids: [34242]
                                        )
                                      ]
                                      spids: [34242]
                                    )
                                  ]
                                  spids: [34239 34240 34245 -1]
                                )
                                (case_arm
                                  pat_list: [{(link)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:libs)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Name '$deplibs') (' %DEPLIBS%'))}
                                          spids: [34252]
                                        )
                                      ]
                                      spids: [34252]
                                    )
                                    (AndOr
                                      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: [34273]
                                            )
                                          ]
                                          spids: [34273]
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                  ]
                                  spids: [34248 34249 34281 -1]
                                )
                              ]
                              spids: [34223 34227 34284]
                            )
                          ]
                          spids: [-1 34220]
                        )
                      ]
                      spids: [-1 34287]
                    )
                    (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: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dependency_libs)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [34330]
                                        )
                                      ]
                                      spids: [34330]
                                    )
                                    (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: [34347 34349 34357 -1]
                                        )
                                      ]
                                      spids: [34340 34344 34360]
                                    )
                                    (ForEach
                                      iter_name: deplib
                                      iter_words: [{($ VSub_Name '$dependency_libs')}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (C {(func_basename)} {(DQ ($ VSub_Name '$deplib'))})
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:deplib_base)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$func_basename_result')}
                                                  spids: [34391]
                                                )
                                              ]
                                              spids: [34391]
                                            )
                                            (Case
                                              to_match: {(DQ (' ') ($ VSub_Name '$weak_libs') (' '))}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other '*') 
                                                      (DQ (' ') ($ VSub_Name '$deplib_base') (' ')) (Lit_Other '*')
                                                    }
                                                  ]
                                                  spids: [34406 34413 34415 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (C {(func_append)} {(deplibs)} 
                                                      {(DQ (' ') ($ VSub_Name '$deplib'))}
                                                    )
                                                  ]
                                                  spids: [34418 34419 34430 -1]
                                                )
                                              ]
                                              spids: [34395 34403 34433]
                                            )
                                          ]
                                          spids: [34381 34436]
                                        )
                                      spids: [34377 34379]
                                    )
                                  ]
                                  spids: [34323 34439]
                                )
                              spids: [34319 34321]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$dlprefiles')}
                                  spids: [34442]
                                )
                              ]
                              spids: [34442]
                            )
                          ]
                          spids: [-1 34307]
                        )
                      ]
                      spids: [-1 34446]
                    )
                    (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: [34469]
                                )
                              ]
                              spids: [34469]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [34473]
                                )
                              ]
                              spids: [34473]
                            )
                          ]
                          spids: [-1 34462]
                        )
                      ]
                      spids: [-1 34476]
                    )
                    (ForEach
                      iter_name: deplib
                      iter_words: [{($ VSub_Name '$libs')}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:lib)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [34492]
                                )
                              ]
                              spids: [34492]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:found)
                                  op: Equal
                                  rhs: {(false)}
                                  spids: [34495]
                                )
                              ]
                              spids: [34495]
                            )
                            (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: [34561]
                                                )
                                              ]
                                              spids: [34561]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:finalize_deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$deplib') (' ') 
                                                        ($ VSub_Name '$finalize_deplibs')
                                                      )
                                                    }
                                                  spids: [34569]
                                                )
                                              ]
                                              spids: [34569]
                                            )
                                          ]
                                          spids: [-1 34558]
                                        )
                                      ]
                                      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: [34616 34623 34625 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other '*')}]
                                                      action: [
                                                        (C {(func_append)} 
                                                          {(new_inherited_linker_flags)} {(DQ (' ') ($ VSub_Name '$deplib'))}
                                                        )
                                                      ]
                                                      spids: [34628 34630 34641 -1]
                                                    )
                                                  ]
                                                  spids: [34606 34613 34644]
                                                )
                                              ]
                                              spids: [-1 34603]
                                            )
                                          ]
                                          spids: [-1 34647]
                                        )
                                      ]
                                      spids: [34577 34650]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [34506 34538 34656 -1]
                                )
                                (case_arm
                                  pat_list: [{(-l) (Lit_Other '*')}]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(lib)} {(KW_Bang '!') (Lit_Other '=')} 
                                                      {(DQ ($ VSub_Name '$linkmode'))}
                                                    )
                                                    (C {(test)} {(prog)} {(KW_Bang '!') (Lit_Other '=')} 
                                                      {(DQ ($ VSub_Name '$linkmode'))}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_warning)} 
                                              {(DQ ("'-l' is ignored for archives/objects"))}
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [-1 34691]
                                        )
                                      ]
                                      spids: [-1 34704]
                                    )
                                    (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: [34721]
                                        )
                                      ]
                                      spids: [34721]
                                    )
                                    (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: [34741]
                                                )
                                              ]
                                              spids: [34741]
                                            )
                                          ]
                                          spids: [-1 34738]
                                        )
                                      ]
                                      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: [34758]
                                            )
                                          ]
                                          spids: [34758]
                                        )
                                      ]
                                      spids: [34755 34770]
                                    )
                                    (ForEach
                                      iter_name: searchdir
                                      iter_words: [{($ VSub_Name '$searchdirs')}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (ForEach
                                              iter_name: search_ext
                                              iter_words: [
                                                {(.la)}
                                                {($ VSub_Name '$std_shrext')}
                                                {(.so)}
                                                {(.a)}
                                              ]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:lib)
                                                          op: Equal
                                                          rhs: 
                                                            {($ VSub_Name '$searchdir') (/lib) 
                                                              ($ VSub_Name '$name') ($ VSub_Name '$search_ext')
                                                            }
                                                          spids: [34807]
                                                        )
                                                      ]
                                                      spids: [34807]
                                                    )
                                                    (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: [34844]
                                                                        )
                                                                      ]
                                                                      spids: [34844]
                                                                    )
                                                                  ]
                                                                  spids: [-1 34841]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:found)
                                                                      op: Equal
                                                                      rhs: {(false)}
                                                                      spids: [34851]
                                                                    )
                                                                  ]
                                                                  spids: [34851]
                                                                )
                                                              ]
                                                              spids: [34848 34855]
                                                            )
                                                            (ControlFlow
                                                              token: <ControlFlow_Break break>
                                                              arg_word: {(2)}
                                                            )
                                                          ]
                                                          spids: [-1 34825]
                                                        )
                                                      ]
                                                      spids: [-1 34863]
                                                    )
                                                  ]
                                                  spids: [34800 34866]
                                                )
                                              spids: [34790 34798]
                                            )
                                          ]
                                          spids: [34782 34869]
                                        )
                                      spids: [34778 34780]
                                    )
                                    (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: {(SQ )}
                                                                          spids: [34943]
                                                                        )
                                                                      ]
                                                                      spids: [34943]
                                                                    )
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: old_library
                                                                            )
                                                                          op: Equal
                                                                          rhs: {(SQ )}
                                                                          spids: [34946]
                                                                        )
                                                                      ]
                                                                      spids: [34946]
                                                                    )
                                                                    (C {(func_source)} 
                                                                      {(DQ ($ VSub_Name '$lib'))}
                                                                    )
                                                                    (ForEach
                                                                      iter_name: l
                                                                      iter_words: [
                                                                        {
                                                                          ($ VSub_Name '$old_library')
                                                                        }
                                                                        {
                                                                          ($ VSub_Name 
'$library_names'
                                                                          )
                                                                        }
                                                                      ]
                                                                      do_arg_iter: False
                                                                      body: 
                                                                        (DoGroup
                                                                          children: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: ll
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      ($ VSub_Name 
'$l'
                                                                                      )
                                                                                    }
                                                                                  spids: [34970]
                                                                                )
                                                                              ]
                                                                              spids: [34970]
                                                                            )
                                                                          ]
                                                                          spids: [34967 34974]
                                                                        )
                                                                      spids: [34961 34965]
                                                                    )
                                                                    (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: [35000]
                                                                                )
                                                                              ]
                                                                              spids: [35000]
                                                                            )
                                                                            (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: [35018]
                                                                                )
                                                                              ]
                                                                              spids: [35018]
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: lib
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      ($ VSub_Name 
'$ladir'
                                                                                      ) (/) ($ VSub_Name '$old_library')
                                                                                    }
                                                                                  spids: [35022]
                                                                                )
                                                                              ]
                                                                              spids: [35022]
                                                                            )
                                                                            (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: [
35048
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [35048]
                                                                                    )
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
finalize_deplibs
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: 
                                                                                            {
                                                                                              (DQ 
                                                                                                ($ 
VSub_Name '$deplib'
                                                                                                ) (' ') ($ VSub_Name '$finalize_deplibs')
                                                                                              )
                                                                                            }
                                                                                          spids: [
35056
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [35056]
                                                                                    )
                                                                                  ]
                                                                                  spids: [-1 35045]
                                                                                )
                                                                              ]
                                                                              else_action: [
                                                                                (Assignment
                                                                                  keyword: 
Assign_None
                                                                                  pairs: [
                                                                                    (assign_pair
                                                                                      lhs: 
                                                                                        (LhsName
                                                                                          name: 
deplibs
                                                                                        )
                                                                                      op: Equal
                                                                                      rhs: 
                                                                                        {
                                                                                          (DQ 
                                                                                            ($ 
VSub_Name '$deplib'
                                                                                            ) (' ') ($ VSub_Name '$deplibs')
                                                                                          )
                                                                                        }
                                                                                      spids: [35067]
                                                                                    )
                                                                                  ]
                                                                                  spids: [35067]
                                                                                )
                                                                                (AndOr
                                                                                  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: [
35087
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [35087]
                                                                                    )
                                                                                  ]
                                                                                  op_id: Op_DAmp
                                                                                )
                                                                              ]
                                                                              spids: [35064 35095]
                                                                            )
                                                                            (ControlFlow
                                                                              token: 
                                                                                <
ControlFlow_Continue continue
                                                                                >
                                                                            )
                                                                          ]
                                                                          spids: [-1 34994]
                                                                        )
                                                                      ]
                                                                      spids: [-1 35101]
                                                                    )
                                                                  ]
                                                                  spids: [-1 34940]
                                                                )
                                                              ]
                                                              spids: [-1 35104]
                                                            )
                                                          ]
                                                          spids: [34921 34928 35107 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          spids: [35110 35111 35113 -1]
                                                        )
                                                      ]
                                                      spids: [34908 34918 35116]
                                                    )
                                                  ]
                                                  spids: [-1 34905]
                                                )
                                              ]
                                              spids: [-1 35119]
                                            )
                                          ]
                                          spids: [-1 34877]
                                        )
                                      ]
                                      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: [35149]
                                                    )
                                                  ]
                                                  spids: [35149]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:finalize_deplibs)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name '$deplib') (' ') 
                                                            ($ VSub_Name '$finalize_deplibs')
                                                          )
                                                        }
                                                      spids: [35157]
                                                    )
                                                  ]
                                                  spids: [35157]
                                                )
                                              ]
                                              spids: [-1 35146]
                                            )
                                          ]
                                          else_action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$deplib') (' ') 
                                                        ($ VSub_Name '$deplibs')
                                                      )
                                                    }
                                                  spids: [35168]
                                                )
                                              ]
                                              spids: [35168]
                                            )
                                            (AndOr
                                              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: [35188]
                                                    )
                                                  ]
                                                  spids: [35188]
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          ]
                                          spids: [35165 35196]
                                        )
                                        (ControlFlow
                                          token: <ControlFlow_Continue continue>
                                        )
                                      ]
                                      spids: [35122 35202]
                                    )
                                  ]
                                  spids: [34659 34661 35205 -1]
                                )
                                (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: [35236]
                                                )
                                              ]
                                              spids: [35236]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:finalize_deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$deplib') (' ') 
                                                        ($ VSub_Name '$finalize_deplibs')
                                                      )
                                                    }
                                                  spids: [35244]
                                                )
                                              ]
                                              spids: [35244]
                                            )
                                          ]
                                          spids: [-1 35233]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:deplibs)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$deplib') (' ') 
                                                    ($ VSub_Name '$deplibs')
                                                  )
                                                }
                                              spids: [35255]
                                            )
                                          ]
                                          spids: [35255]
                                        )
                                        (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: [35289 35296 35298 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other '*')}]
                                                      action: [
                                                        (C {(func_append)} 
                                                          {(new_inherited_linker_flags)} {(DQ (' ') ($ VSub_Name '$deplib'))}
                                                        )
                                                      ]
                                                      spids: [35301 35303 35314 -1]
                                                    )
                                                  ]
                                                  spids: [35279 35286 35317]
                                                )
                                              ]
                                              spids: [-1 35276]
                                            )
                                          ]
                                          spids: [-1 35320]
                                        )
                                      ]
                                      spids: [35252 35323]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [35211 35213 35329 -1]
                                )
                                (case_arm
                                  pat_list: [{(-L) (Lit_Other '*')}]
                                  action: [
                                    (Case
                                      to_match: {($ VSub_Name '$linkmode')}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(lib)}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$deplib') (' ') 
                                                        ($ VSub_Name '$deplibs')
                                                      )
                                                    }
                                                  spids: [35348]
                                                )
                                              ]
                                              spids: [35348]
                                            )
                                            (AndOr
                                              children: [
                                                (C {(test)} {(conv)} {(Lit_Other '=')} 
                                                  {(DQ ($ VSub_Name '$pass'))}
                                                )
                                                (ControlFlow
                                                  token: <ControlFlow_Continue continue>
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newdependency_libs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$deplib') (' ') 
                                                        ($ VSub_Name '$newdependency_libs')
                                                      )
                                                    }
                                                  spids: [35371]
                                                )
                                              ]
                                              spids: [35371]
                                            )
                                            (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: [35344 35345 35410 -1]
                                        )
                                        (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: [35433]
                                                        )
                                                      ]
                                                      spids: [35433]
                                                    )
                                                    (ControlFlow
                                                      token: <ControlFlow_Continue continue>
                                                    )
                                                  ]
                                                  spids: [-1 35430]
                                                )
                                              ]
                                              spids: [-1 35444]
                                            )
                                            (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: [35463]
                                                        )
                                                      ]
                                                      spids: [35463]
                                                    )
                                                  ]
                                                  spids: [-1 35460]
                                                )
                                              ]
                                              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: [35474]
                                                    )
                                                  ]
                                                  spids: [35474]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:finalize_deplibs)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name '$deplib') (' ') 
                                                            ($ VSub_Name '$finalize_deplibs')
                                                          )
                                                        }
                                                      spids: [35482]
                                                    )
                                                  ]
                                                  spids: [35482]
                                                )
                                              ]
                                              spids: [35471 35490]
                                            )
                                            (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: [35413 35414 35524 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_warning)} 
                                              {(DQ ("'-L' is ignored for archives/objects"))}
                                            )
                                          ]
                                          spids: [35527 35528 35538 -1]
                                        )
                                      ]
                                      spids: [35337 35341 35541]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [35332 35334 35550 -1]
                                )
                                (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: [35598]
                                                )
                                              ]
                                              spids: [35598]
                                            )
                                            (Case
                                              to_match: {(DQ ($ VSub_Name '$xrpath') (' '))}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other '*') 
                                                      (DQ (' ') ($ VSub_Name '$dir') (' ')) (Lit_Other '*')
                                                    }
                                                  ]
                                                  spids: [35616 35623 35625 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (C {(func_append)} {(xrpath)} 
                                                      {(DQ (' ') ($ VSub_Name '$dir'))}
                                                    )
                                                  ]
                                                  spids: [35628 35629 35640 -1]
                                                )
                                              ]
                                              spids: [35606 35613 35643]
                                            )
                                          ]
                                          spids: [-1 35574]
                                        )
                                      ]
                                      spids: [-1 35646]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:deplibs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$deplib') (' ') 
                                                ($ VSub_Name '$deplibs')
                                              )
                                            }
                                          spids: [35649]
                                        )
                                      ]
                                      spids: [35649]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [35556 35558 35660 -1]
                                )
                                (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: [35675]
                                        )
                                      ]
                                      spids: [35675]
                                    )
                                  ]
                                  spids: [35663 35665 35679 -1]
                                )
                                (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: [35704]
                                                )
                                              ]
                                              spids: [35704]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [-1 35701]
                                        )
                                      ]
                                      spids: [-1 35715]
                                    )
                                    (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: [35748 35755 35757 -1]
                                                )
                                                (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: [35764]
                                                        )
                                                      ]
                                                      spids: [35764]
                                                    )
                                                    (Case
                                                      to_match: 
                                                        {($ VSub_Name '$deplibs_check_method')}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(match_pattern) (Lit_Other '*')}]
                                                          action: [
                                                            (Sentence
                                                              child: 
                                                                (C {(set)} {(dummy)} 
                                                                  {
                                                                    ($ VSub_Name 
'$deplibs_check_method'
                                                                    )
                                                                  }
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                            (C {(shift)})
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: 
                                                                    (LhsName
                                                                      name: match_pattern_regex
                                                                    )
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (CommandSubPart
                                                                        command_list: 
                                                                          (CommandList
                                                                            children: [
                                                                              (C {(expr)} 
                                                                                {
                                                                                  (DQ 
                                                                                    ($ VSub_Name 
'$deplibs_check_method'
                                                                                    )
                                                                                  )
                                                                                } {(Lit_Other ':')} 
                                                                                {
                                                                                  (DQ 
                                                                                    ($ VSub_Number 
'$1'
                                                                                    ) (' ') (EscapedLiteralPart token:<Lit_EscapedChar '\\('>) ('.*') 
                                                                                    (EscapedLiteralPart
                                                                                      token: 
                                                                                        <
Lit_EscapedChar '\\)'
                                                                                        >
                                                                                    )
                                                                                  )
                                                                                }
                                                                              )
                                                                            ]
                                                                          )
                                                                        left_token: 
                                                                          <Left_Backtick '`'>
                                                                        spids: [35791 35807]
                                                                      )
                                                                    }
                                                                  spids: [35790]
                                                                )
                                                              ]
                                                              spids: [35790]
                                                            )
                                                            (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: [35822]
                                                                                )
                                                                              ]
                                                                            )
                                                                            (C {($ VSub_Name '$SED')} 
                                                                              {(10q)}
                                                                            )
                                                                            (SimpleCommand
                                                                              words: [
                                                                                {
                                                                                  ($ VSub_Name 
'$EGREP'
                                                                                  )
                                                                                }
                                                                                {
                                                                                  (DQ 
                                                                                    ($ VSub_Name 
'$match_pattern_regex'
                                                                                    )
                                                                                  )
                                                                                }
                                                                              ]
                                                                              redirects: [
                                                                                (Redir
                                                                                  op_id: Redir_Great
                                                                                  fd: -1
                                                                                  arg_word: 
                                                                                    {(/dev/null)}
                                                                                  spids: [35841]
                                                                                )
                                                                              ]
                                                                            )
                                                                          ]
                                                                          negated: False
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: valid_a_lib
                                                                            )
                                                                          op: Equal
                                                                          rhs: {(Lit_Other ':')}
                                                                          spids: [35849]
                                                                        )
                                                                      ]
                                                                      spids: [35849]
                                                                    )
                                                                  ]
                                                                  spids: [-1 35846]
                                                                )
                                                              ]
                                                              spids: [-1 35853]
                                                            )
                                                          ]
                                                          spids: [35775 35777 35856 -1]
                                                        )
                                                        (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: [35863]
                                                                )
                                                              ]
                                                              spids: [35863]
                                                            )
                                                          ]
                                                          spids: [35859 35860 35867 -1]
                                                        )
                                                      ]
                                                      spids: [35768 35772 35870]
                                                    )
                                                    (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: [35902]
                                                                )
                                                              ]
                                                              spids: [35902]
                                                            )
                                                          ]
                                                          spids: [-1 35878]
                                                        )
                                                      ]
                                                      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: [35910 35962]
                                                    )
                                                  ]
                                                  spids: [35760 35761 35965 -1]
                                                )
                                              ]
                                              spids: [35737 35745 35968]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [35725 35726 35974 -1]
                                        )
                                        (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: [35998]
                                                        )
                                                      ]
                                                      spids: [35998]
                                                    )
                                                  ]
                                                  spids: [-1 35995]
                                                )
                                              ]
                                              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: [36009]
                                                    )
                                                  ]
                                                  spids: [36009]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:finalize_deplibs)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name '$deplib') (' ') 
                                                            ($ VSub_Name '$finalize_deplibs')
                                                          )
                                                        }
                                                      spids: [36017]
                                                    )
                                                  ]
                                                  spids: [36017]
                                                )
                                              ]
                                              spids: [36006 36025]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [35977 35978 36031 -1]
                                        )
                                      ]
                                      spids: [35718 35722 36034]
                                    )
                                  ]
                                  spids: [35682 35685 36040 -1]
                                )
                                (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: [36073]
                                                )
                                              ]
                                              spids: [36073]
                                            )
                                          ]
                                          spids: [-1 36070]
                                        )
                                        (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
                                                          children: [
                                                            (C {(test)} {(dlpreopen)} {(Lit_Other '=')} 
                                                              {(DQ ($ VSub_Name '$pass'))}
                                                            )
                                                            (AndOr
                                                              children: [
                                                                (C {(test)} {(yes)} 
                                                                  {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$dlopen_support'))}
                                                                )
                                                                (C {(test)} {(no)} {(Lit_Other '=')} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name 
'$build_libtool_libs'
                                                                      )
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                              op_id: Op_DPipe
                                                            )
                                                          ]
                                                          op_id: Op_DPipe
                                                        )
                                                      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: [36156]
                                                        )
                                                      ]
                                                      spids: [36156]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:finalize_deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$deplib') (' ') 
                                                                ($ VSub_Name '$finalize_deplibs')
                                                              )
                                                            }
                                                          spids: [36164]
                                                        )
                                                      ]
                                                      spids: [36164]
                                                    )
                                                  ]
                                                  spids: [-1 36135]
                                                )
                                              ]
                                              else_action: [
                                                (C {(func_append)} {(newdlfiles)} 
                                                  {(DQ (' ') ($ VSub_Name '$deplib'))}
                                                )
                                              ]
                                              spids: [36172 36185]
                                            )
                                          ]
                                          spids: [36081 36094]
                                        )
                                      ]
                                      spids: [-1 36188]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [36046 36054 36194 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '%') (DEPLIBS) (Lit_Other '%')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:alldeplibs)
                                          op: Equal
                                          rhs: {(Lit_Other ':')}
                                          spids: [36203]
                                        )
                                      ]
                                      spids: [36203]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [36197 36200 36210 -1]
                                )
                              ]
                              spids: [34499 34503 36213]
                            )
                            (AndOr
                              children: [
                                (C {($ VSub_Name '$found')})
                                (AndOr
                                  children: [
                                    (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') ("'")
                                        )
                                      }
                                    )
                                  ]
                                  op_id: Op_DPipe
                                )
                              ]
                              op_id: Op_DPipe
                            )
                            (AndOr
                              children: [
                                (C {(func_lalib_unsafe_p)} {(DQ ($ VSub_Name '$lib'))})
                                (C {(func_fatal_error)} 
                                  {
                                    (DQ ("'") ($ VSub_Name '$lib') ("' is not a valid libtool archive"))
                                  }
                                )
                              ]
                              op_id: Op_DPipe
                            )
                            (C {(func_dirname)} {(DQ ($ VSub_Name '$lib'))} {(DQ )} {(DQ (.))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:ladir)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_dirname_result')}
                                  spids: [36286]
                                )
                              ]
                              spids: [36286]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dlname)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [36291]
                                )
                              ]
                              spids: [36291]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dlopen)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [36294]
                                )
                              ]
                              spids: [36294]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dlpreopen)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [36297]
                                )
                              ]
                              spids: [36297]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libdir)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [36300]
                                )
                              ]
                              spids: [36300]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:library_names)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [36303]
                                )
                              ]
                              spids: [36303]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:old_library)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [36306]
                                )
                              ]
                              spids: [36306]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:inherited_linker_flags)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [36309]
                                )
                              ]
                              spids: [36309]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:installed)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [36320]
                                )
                              ]
                              spids: [36320]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:shouldnotlink)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [36324]
                                )
                              ]
                              spids: [36324]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:avoidtemprpath)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [36328]
                                )
                              ]
                              spids: [36328]
                            )
                            (C {(func_source)} {(DQ ($ VSub_Name '$lib'))})
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$inherited_linker_flags'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_inherited_linker_flags)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {($ VSub_Name '$ECHO')} 
                                                            {
                                                              (DQ 
                                                                ($ VSub_Name 
'$inherited_linker_flags'
                                                                )
                                                              )
                                                            }
                                                          )
                                                          (C {($ VSub_Name '$SED')} 
                                                            {
                                                              (SQ 
                                                                <
's/-framework \\([^ $]*\\)/\\1.ltframework/g'
                                                                >
                                                              )
                                                            }
                                                          )
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [36364 36378]
                                              )
                                            }
                                          spids: [36363]
                                        )
                                      ]
                                      spids: [36363]
                                    )
                                    (ForEach
                                      iter_name: tmp_inherited_linker_flag
                                      iter_words: [{($ VSub_Name '$tmp_inherited_linker_flags')}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Case
                                              to_match: 
                                                {
                                                  (DQ (' ') 
                                                    ($ VSub_Name '$new_inherited_linker_flags') (' ')
                                                  )
                                                }
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other '*') 
                                                      (DQ (' ') 
                                                        ($ VSub_Name '$tmp_inherited_linker_flag') (' ')
                                                      ) (Lit_Other '*')
                                                    }
                                                  ]
                                                  spids: [36404 36411 36413 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (C {(func_append)} {(new_inherited_linker_flags)} 
                                                      {
                                                        (DQ (' ') 
                                                          ($ VSub_Name '$tmp_inherited_linker_flag')
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [36416 36417 36427 -1]
                                                )
                                              ]
                                              spids: [36393 36401 36430]
                                            )
                                          ]
                                          spids: [36390 36433]
                                        )
                                      spids: [36386 36388]
                                    )
                                  ]
                                  spids: [-1 36360]
                                )
                              ]
                              spids: [-1 36436]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dependency_libs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$ECHO')} 
                                                    {(DQ (' ') ($ VSub_Name '$dependency_libs'))}
                                                  )
                                                  (C {($ VSub_Name '$SED')} 
                                                    {
                                                      (SQ 
                                                        <
's% \\([^ $]*\\).ltframework% -framework \\1%g'
                                                        >
                                                      )
                                                    }
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [36440 36455]
                                      )
                                    }
                                  spids: [36439]
                                )
                              ]
                              spids: [36439]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} {(lib) (Lit_Comma ',') (link)} {(Lit_Other '=')} 
                                              {
                                                (DQ ($ VSub_Name '$linkmode') (',') 
                                                  ($ VSub_Name '$pass')
                                                )
                                              }
                                            )
                                            (AndOr
                                              children: [
                                                (C {(test)} {(prog) (Lit_Comma ',') (scan)} 
                                                  {(Lit_Other '=')} {(DQ ($ VSub_Name '$linkmode') (',') ($ VSub_Name '$pass'))}
                                                )
                                                (BraceGroup
                                                  children: [
                                                    (Sentence
                                                      child: 
                                                        (AndOr
                                                          children: [
                                                            (C {(test)} {(prog)} 
                                                              {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$linkmode'))}
                                                            )
                                                            (C {(test)} {(lib)} 
                                                              {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$linkmode'))}
                                                            )
                                                          ]
                                                          op_id: Op_DAmp
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  spids: [36494]
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          op_id: Op_DPipe
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (AndOr
                                      children: [
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$dlopen'))})
                                        (C {(func_append)} {(dlfiles)} 
                                          {(DQ (' ') ($ VSub_Name '$dlopen'))}
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                    (AndOr
                                      children: [
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$dlpreopen'))})
                                        (C {(func_append)} {(dlprefiles)} 
                                          {(DQ (' ') ($ VSub_Name '$dlpreopen'))}
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                  ]
                                  spids: [-1 36524]
                                )
                              ]
                              spids: [-1 36567]
                            )
                            (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: [36591]
                                        )
                                      ]
                                      spids: [36591]
                                    )
                                    (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: [-1 36624]
                                                )
                                              ]
                                              spids: [-1 36636]
                                            )
                                            (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: {(SQ )}
                                                  spids: [36671]
                                                )
                                              ]
                                              spids: [36671]
                                            )
                                            (ForEach
                                              iter_name: deplib
                                              iter_words: [{($ VSub_Name '$dependency_libs')}]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$deplib') (' ') 
                                                                ($ VSub_Name '$deplibs')
                                                              )
                                                            }
                                                          spids: [36686]
                                                        )
                                                      ]
                                                      spids: [36686]
                                                    )
                                                    (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: [36712 36719 36730 -1]
                                                                )
                                                              ]
                                                              spids: [36702 36709 36733]
                                                            )
                                                          ]
                                                          spids: [-1 36699]
                                                        )
                                                      ]
                                                      spids: [-1 36736]
                                                    )
                                                    (C {(func_append)} {(tmp_libs)} 
                                                      {(DQ (' ') ($ VSub_Name '$deplib'))}
                                                    )
                                                  ]
                                                  spids: [36683 36749]
                                                )
                                              spids: [36679 36681]
                                            )
                                          ]
                                          spids: [-1 36610]
                                        )
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(prog)} {(KW_Bang '!') (Lit_Other '=')} 
                                                      {(DQ ($ VSub_Name '$linkmode'))}
                                                    )
                                                    (C {(test)} {(lib)} {(KW_Bang '!') (Lit_Other '=')} 
                                                      {(DQ ($ VSub_Name '$linkmode'))}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_fatal_error)} 
                                              {
                                                (DQ ("'") ($ VSub_Name '$lib') 
                                                  ("' is not a convenience library")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [36752 36779]
                                        )
                                      ]
                                      spids: [-1 36791]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [-1 36584]
                                )
                              ]
                              spids: [-1 36797]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:linklib)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [36809]
                                )
                              ]
                              spids: [36809]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$old_library'))})
                                            (BraceGroup
                                              children: [
                                                (Sentence
                                                  child: 
                                                    (AndOr
                                                      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'))}
                                                        )
                                                      ]
                                                      op_id: Op_DPipe
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              spids: [36825]
                                            )
                                          ]
                                          op_id: Op_DAmp
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:linklib)
                                          op: Equal
                                          rhs: {($ VSub_Name '$old_library')}
                                          spids: [36861]
                                        )
                                      ]
                                      spids: [36861]
                                    )
                                  ]
                                  spids: [-1 36858]
                                )
                              ]
                              else_action: [
                                (ForEach
                                  iter_name: l
                                  iter_words: [
                                    {($ VSub_Name '$old_library')}
                                    {($ VSub_Name '$library_names')}
                                  ]
                                  do_arg_iter: False
                                  body: 
                                    (DoGroup
                                      children: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:linklib)
                                              op: Equal
                                              rhs: {($ VSub_Name '$l')}
                                              spids: [36882]
                                            )
                                          ]
                                          spids: [36882]
                                        )
                                      ]
                                      spids: [36879 36886]
                                    )
                                  spids: [36873 36877]
                                )
                              ]
                              spids: [36865 36889]
                            )
                            (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: [-1 36903]
                                )
                              ]
                              spids: [-1 36915]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(dlopen)} {(Lit_Other '=')} 
                                          {(DQ ($ VSub_Name '$pass'))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (AndOr
                                      children: [
                                        (C {(test)} {(-z)} {(DQ ($ VSub_Name '$libdir'))})
                                        (C {(func_fatal_error)} 
                                          {
                                            (DQ ("cannot -dlopen a convenience library: '") 
                                              ($ VSub_Name '$lib') ("'")
                                            )
                                          }
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (AndOr
                                              children: [
                                                (C {(test)} {(-z)} {(DQ ($ VSub_Name '$dlname'))})
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(yes)} {(KW_Bang '!') (Lit_Other '=')} 
                                                      {(DQ ($ VSub_Name '$dlopen_support'))}
                                                    )
                                                    (C {(test)} {(no)} {(Lit_Other '=')} 
                                                      {(DQ ($ VSub_Name '$build_libtool_libs'))}
                                                    )
                                                  ]
                                                  op_id: Op_DPipe
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          action: [
                                            (C {(func_append)} {(dlprefiles)} 
                                              {
                                                (DQ (' ') ($ VSub_Name '$lib') (' ') 
                                                  ($ VSub_Name '$dependency_libs')
                                                )
                                              }
                                            )
                                          ]
                                          spids: [-1 36998]
                                        )
                                      ]
                                      else_action: [
                                        (C {(func_append)} {(newdlfiles)} 
                                          {(DQ (' ') ($ VSub_Name '$lib'))}
                                        )
                                      ]
                                      spids: [37029 37042]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [-1 36936]
                                )
                              ]
                              spids: [-1 37048]
                            )
                            (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: [37085]
                                        )
                                      ]
                                      spids: [37085]
                                    )
                                  ]
                                  spids: [37066 37083 37088 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:abs_ladir)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (AndOr
                                                        children: [
                                                          (C {(cd)} {(DQ ($ VSub_Name '$ladir'))})
                                                          (C {(pwd)})
                                                        ]
                                                        op_id: Op_DAmp
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [37096 37106]
                                              )
                                            }
                                          spids: [37095]
                                        )
                                      ]
                                      spids: [37095]
                                    )
                                    (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: [37139]
                                                )
                                              ]
                                              spids: [37139]
                                            )
                                          ]
                                          spids: [-1 37120]
                                        )
                                      ]
                                      spids: [-1 37143]
                                    )
                                  ]
                                  spids: [37091 37092 37146 -1]
                                )
                              ]
                              spids: [37059 37063 37149]
                            )
                            (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: [37159]
                                )
                              ]
                              spids: [37159]
                            )
                            (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
                                                  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')
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              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: [37224]
                                                )
                                              ]
                                              spids: [37224]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:absdir)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$abs_ladir')}
                                                  spids: [37228]
                                                )
                                              ]
                                              spids: [37228]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:libdir)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$abs_ladir')}
                                                  spids: [37232]
                                                )
                                              ]
                                              spids: [37232]
                                            )
                                          ]
                                          spids: [-1 37212]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:dir)
                                              op: Equal
                                              rhs: 
                                                {($ VSub_Name '$lt_sysroot') ($ VSub_Name '$libdir')}
                                              spids: [37239]
                                            )
                                          ]
                                          spids: [37239]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:absdir)
                                              op: Equal
                                              rhs: 
                                                {($ VSub_Name '$lt_sysroot') ($ VSub_Name '$libdir')}
                                              spids: [37244]
                                            )
                                          ]
                                          spids: [37244]
                                        )
                                      ]
                                      spids: [37236 37249]
                                    )
                                    (AndOr
                                      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: [37264]
                                            )
                                          ]
                                          spids: [37264]
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                  ]
                                  spids: [-1 37181]
                                )
                              ]
                              else_action: [
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (AndOr
                                              children: [
                                                (C {(test)} {(KW_Bang '!')} {(-f)} 
                                                  {
                                                    (DQ ($ VSub_Name '$ladir') (/) 
                                                      ($ VSub_Name '$objdir') (/) ($ VSub_Name '$linklib')
                                                    )
                                                  }
                                                )
                                                (C {(test)} {(-f)} 
                                                  {
                                                    (DQ ($ VSub_Name '$abs_ladir') (/) 
                                                      ($ VSub_Name '$linklib')
                                                    )
                                                  }
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:dir)
                                              op: Equal
                                              rhs: {($ VSub_Name '$ladir')}
                                              spids: [37303]
                                            )
                                          ]
                                          spids: [37303]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:absdir)
                                              op: Equal
                                              rhs: {($ VSub_Name '$abs_ladir')}
                                              spids: [37307]
                                            )
                                          ]
                                          spids: [37307]
                                        )
                                        (C {(func_append)} {(notinst_path)} 
                                          {(DQ (' ') ($ VSub_Name '$abs_ladir'))}
                                        )
                                      ]
                                      spids: [-1 37300]
                                    )
                                  ]
                                  else_action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dir)
                                          op: Equal
                                          rhs: {($ VSub_Name '$ladir') (/) ($ VSub_Name '$objdir')}
                                          spids: [37328]
                                        )
                                      ]
                                      spids: [37328]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:absdir)
                                          op: Equal
                                          rhs: 
                                            {($ VSub_Name '$abs_ladir') (/) ($ VSub_Name '$objdir')}
                                          spids: [37334]
                                        )
                                      ]
                                      spids: [37334]
                                    )
                                    (C {(func_append)} {(notinst_path)} 
                                      {(DQ (' ') ($ VSub_Name '$abs_ladir'))}
                                    )
                                  ]
                                  spids: [37325 37354]
                                )
                              ]
                              spids: [37268 37357]
                            )
                            (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: [37378]
                                )
                              ]
                              spids: [37378]
                            )
                            (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
                                                  children: [
                                                    (C {(test)} {(-z)} {(DQ ($ VSub_Name '$libdir'))})
                                                    (C {(test)} {(prog)} {(Lit_Other '=')} 
                                                      {(DQ ($ VSub_Name '$linkmode'))}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_fatal_error)} 
                                              {
                                                (DQ 
                                                  (
"only libraries may -dlpreopen a convenience library: '"
                                                  ) ($ VSub_Name '$lib') ("'")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [-1 37426]
                                        )
                                      ]
                                      spids: [-1 37438]
                                    )
                                    (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: [-1 37514]
                                                )
                                              ]
                                              else_action: [
                                                (C {(func_append)} {(newdlprefiles)} 
                                                  {
                                                    (DQ (' ') ($ VSub_Name '$dir') (/) 
                                                      ($ VSub_Name '$old_library')
                                                    )
                                                  }
                                                )
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-z)} {(DQ ($ VSub_Name '$libdir'))})
                                                    (C {(func_append)} {(dlpreconveniencelibs)} 
                                                      {
                                                        (DQ (' ') ($ VSub_Name '$dir') (/) 
                                                          ($ VSub_Name '$old_library')
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              ]
                                              spids: [37551 37598]
                                            )
                                          ]
                                          spids: [37452 37468 37601 -1]
                                        )
                                        (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
                                                      children: [
                                                        (C {(test)} {(-z)} {(DQ ($ VSub_Name '$libdir'))})
                                                        (C {(func_append)} {(dlpreconveniencelibs)} 
                                                          {
                                                            (DQ (' ') ($ VSub_Name '$dir') (/) 
                                                              ($ VSub_Name '$old_library')
                                                            )
                                                          }
                                                        )
                                                      ]
                                                      op_id: Op_DAmp
                                                    )
                                                  ]
                                                  spids: [-1 37628]
                                                )
                                                (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: [37679 37690]
                                                )
                                              ]
                                              else_action: [
                                                (C {(func_append)} {(newdlprefiles)} 
                                                  {
                                                    (DQ (' ') ($ VSub_Name '$dir') (/) 
                                                      ($ VSub_Name '$linklib')
                                                    )
                                                  }
                                                )
                                              ]
                                              spids: [37705 37720]
                                            )
                                          ]
                                          spids: [37604 37606 37723 -1]
                                        )
                                      ]
                                      spids: [37441 37445 37726]
                                    )
                                  ]
                                  spids: [-1 37400]
                                )
                              ]
                              spids: [-1 37729]
                            )
                            (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: [37770]
                                                )
                                              ]
                                              spids: [37770]
                                            )
                                          ]
                                          spids: [-1 37767]
                                        )
                                        (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: [37800]
                                                )
                                              ]
                                              spids: [37800]
                                            )
                                            (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: [37810]
                                                )
                                              ]
                                              spids: [37810]
                                            )
                                          ]
                                          spids: [37780 37797]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:deplibs)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$lib') (' ') 
                                                    ($ VSub_Name '$deplibs')
                                                  )
                                                }
                                              spids: [37823]
                                            )
                                          ]
                                          spids: [37823]
                                        )
                                      ]
                                      spids: [37820 37834]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [-1 37747]
                                )
                              ]
                              spids: [-1 37840]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} {(prog)} {(Lit_Other '=')} 
                                              {(DQ ($ VSub_Name '$linkmode'))}
                                            )
                                            (C {(test)} {(link)} {(KW_Bang '!') (Lit_Other '=')} 
                                              {(DQ ($ VSub_Name '$pass'))}
                                            )
                                          ]
                                          op_id: Op_DAmp
                                        )
                                      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: [37884]
                                        )
                                      ]
                                      spids: [37884]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:linkalldeplibs)
                                          op: Equal
                                          rhs: {(false)}
                                          spids: [37893]
                                        )
                                      ]
                                      spids: [37893]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(no)} {(KW_Bang '!') (Lit_Other '=')} 
                                                      {(DQ ($ VSub_Name '$link_all_deplibs'))}
                                                    )
                                                    (AndOr
                                                      children: [
                                                        (C {(test)} {(-z)} 
                                                          {(DQ ($ VSub_Name '$library_names'))}
                                                        )
                                                        (C {(test)} {(no)} {(Lit_Other '=')} 
                                                          {(DQ ($ VSub_Name '$build_libtool_libs'))}
                                                        )
                                                      ]
                                                      op_id: Op_DPipe
                                                    )
                                                  ]
                                                  op_id: Op_DPipe
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:linkalldeplibs)
                                                  op: Equal
                                                  rhs: {(Lit_Other ':')}
                                                  spids: [37937]
                                                )
                                              ]
                                              spids: [37937]
                                            )
                                          ]
                                          spids: [-1 37934]
                                        )
                                      ]
                                      spids: [-1 37941]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_libs)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [37945]
                                        )
                                      ]
                                      spids: [37945]
                                    )
                                    (ForEach
                                      iter_name: deplib
                                      iter_words: [{($ VSub_Name '$dependency_libs')}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Case
                                              to_match: {($ VSub_Name '$deplib')}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(-L) (Lit_Other '*')}]
                                                  action: [
                                                    (C {(func_stripname)} {(SQ <-L>)} {(SQ )} 
                                                      {(DQ ($ VSub_Name '$deplib'))}
                                                    )
                                                    (C {(func_resolve_sysroot)} 
                                                      {(DQ ($ VSub_Name '$func_stripname_result'))}
                                                    )
                                                    (C {(func_append)} {(newlib_search_path)} 
                                                      {
                                                        (DQ (' ') 
                                                          ($ VSub_Name '$func_resolve_sysroot_result')
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [37967 37969 38002 -1]
                                                )
                                              ]
                                              spids: [37960 37964 38005]
                                            )
                                            (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: [38020]
                                                        )
                                                      ]
                                                      spids: [38020]
                                                    )
                                                  ]
                                                  spids: [-1 38017]
                                                )
                                              ]
                                              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: [38039]
                                                    )
                                                  ]
                                                  spids: [38039]
                                                )
                                              ]
                                              spids: [38028 38047]
                                            )
                                            (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: [38068 38075 38086 -1]
                                                        )
                                                      ]
                                                      spids: [38058 38065 38089]
                                                    )
                                                  ]
                                                  spids: [-1 38055]
                                                )
                                              ]
                                              spids: [-1 38092]
                                            )
                                            (C {(func_append)} {(tmp_libs)} 
                                              {(DQ (' ') ($ VSub_Name '$deplib'))}
                                            )
                                          ]
                                          spids: [37957 38105]
                                        )
                                      spids: [37953 37955]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [-1 37871]
                                )
                              ]
                              spids: [-1 38114]
                            )
                            (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
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$library_names'))}
                                                    )
                                                    (BraceGroup
                                                      children: [
                                                        (Sentence
                                                          child: 
                                                            (AndOr
                                                              children: [
                                                                (BraceGroup
                                                                  children: [
                                                                    (Sentence
                                                                      child: 
                                                                        (AndOr
                                                                          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'))}
                                                                            )
                                                                          ]
                                                                          op_id: Op_DPipe
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  spids: [38156]
                                                                )
                                                                (C {(test)} {(-z)} 
                                                                  {(DQ ($ VSub_Name '$old_library'))}
                                                                )
                                                              ]
                                                              op_id: Op_DPipe
                                                            )
                                                          terminator: <Op_Semi ';'>
                                                        )
                                                      ]
                                                      spids: [38154]
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (AndOr
                                                          children: [
                                                            (C {(test)} {(-n)} 
                                                              {(DQ ($ VSub_Name '$shlibpath_var'))}
                                                            )
                                                            (C {(test)} {(-z)} 
                                                              {(DQ ($ VSub_Name '$avoidtemprpath'))}
                                                            )
                                                          ]
                                                          op_id: Op_DAmp
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Case
                                                      to_match: 
                                                        {($ VSub_Name '$temp_rpath') (Lit_Other ':')}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other '*') 
                                                              (DQ ($ VSub_Name '$absdir') (':')) (Lit_Other '*')
                                                            }
                                                          ]
                                                          spids: [38246 38252 38254 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (C {(func_append)} {(temp_rpath)} 
                                                              {(DQ ($ VSub_Name '$absdir') (':'))}
                                                            )
                                                          ]
                                                          spids: [38257 38258 38269 -1]
                                                        )
                                                      ]
                                                      spids: [38238 38243 38272]
                                                    )
                                                  ]
                                                  spids: [-1 38231]
                                                )
                                              ]
                                              spids: [-1 38275]
                                            )
                                            (Case
                                              to_match: 
                                                {
                                                  (DQ (' ') ($ VSub_Name '$sys_lib_dlsearch_path') 
                                                    (' ')
                                                  )
                                                }
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other '*') 
                                                      (DQ (' ') ($ VSub_Name '$absdir') (' ')) (Lit_Other '*')
                                                    }
                                                  ]
                                                  spids: [38302 38309 38311 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (Case
                                                      to_match: 
                                                        {(DQ ($ VSub_Name '$compile_rpath') (' '))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other '*') 
                                                              (DQ (' ') ($ VSub_Name '$absdir') (' ')) (Lit_Other '*')
                                                            }
                                                          ]
                                                          spids: [38328 38335 38337 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (C {(func_append)} {(compile_rpath)} 
                                                              {(DQ (' ') ($ VSub_Name '$absdir'))}
                                                            )
                                                          ]
                                                          spids: [38340 38341 38352 -1]
                                                        )
                                                      ]
                                                      spids: [38318 38325 38355]
                                                    )
                                                  ]
                                                  spids: [38314 38315 38358 -1]
                                                )
                                              ]
                                              spids: [38291 38299 38361]
                                            )
                                            (Case
                                              to_match: 
                                                {
                                                  (DQ (' ') ($ VSub_Name '$sys_lib_dlsearch_path') 
                                                    (' ')
                                                  )
                                                }
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other '*') 
                                                      (DQ (' ') ($ VSub_Name '$libdir') (' ')) (Lit_Other '*')
                                                    }
                                                  ]
                                                  spids: [38375 38382 38384 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (Case
                                                      to_match: 
                                                        {(DQ ($ VSub_Name '$finalize_rpath') (' '))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other '*') 
                                                              (DQ (' ') ($ VSub_Name '$libdir') (' ')) (Lit_Other '*')
                                                            }
                                                          ]
                                                          spids: [38401 38408 38410 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (C {(func_append)} {(finalize_rpath)} 
                                                              {(DQ (' ') ($ VSub_Name '$libdir'))}
                                                            )
                                                          ]
                                                          spids: [38413 38414 38425 -1]
                                                        )
                                                      ]
                                                      spids: [38391 38398 38428]
                                                    )
                                                  ]
                                                  spids: [38387 38388 38431 -1]
                                                )
                                              ]
                                              spids: [38364 38372 38434]
                                            )
                                          ]
                                          spids: [-1 38203]
                                        )
                                      ]
                                      spids: [-1 38437]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {($ VSub_Name '$alldeplibs')})
                                                    (BraceGroup
                                                      children: [
                                                        (Sentence
                                                          child: 
                                                            (AndOr
                                                              children: [
                                                                (C {(test)} {(pass_all)} 
                                                                  {(Lit_Other '=')} {(DQ ($ VSub_Name '$deplibs_check_method'))}
                                                                )
                                                                (BraceGroup
                                                                  children: [
                                                                    (Sentence
                                                                      child: 
                                                                        (AndOr
                                                                          children: [
                                                                            (C {(test)} {(yes)} 
                                                                              {(Lit_Other '=')} {(DQ ($ VSub_Name '$build_libtool_libs'))}
                                                                            )
                                                                            (C {(test)} {(-n)} 
                                                                              {
                                                                                (DQ 
                                                                                  ($ VSub_Name 
'$library_names'
                                                                                  )
                                                                                )
                                                                              }
                                                                            )
                                                                          ]
                                                                          op_id: Op_DAmp
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  spids: [38466]
                                                                )
                                                              ]
                                                              op_id: Op_DPipe
                                                            )
                                                          terminator: <Op_Semi ';'>
                                                        )
                                                      ]
                                                      spids: [38451]
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                                          spids: [-1 38496]
                                        )
                                      ]
                                      spids: [-1 38506]
                                    )
                                  ]
                                  spids: [-1 38138]
                                )
                              ]
                              spids: [-1 38509]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:link_static)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [38513]
                                )
                              ]
                              spids: [38513]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:use_static_libs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$prefer_static_libs')}
                                  spids: [38520]
                                )
                              ]
                              spids: [38520]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} {(built)} {(Lit_Other '=')} 
                                              {(DQ ($ VSub_Name '$use_static_libs'))}
                                            )
                                            (C {(test)} {(yes)} {(Lit_Other '=')} 
                                              {(DQ ($ VSub_Name '$installed'))}
                                            )
                                          ]
                                          op_id: Op_DAmp
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:use_static_libs)
                                          op: Equal
                                          rhs: {(no)}
                                          spids: [38552]
                                        )
                                      ]
                                      spids: [38552]
                                    )
                                  ]
                                  spids: [-1 38549]
                                )
                              ]
                              spids: [-1 38556]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$library_names'))})
                                            (BraceGroup
                                              children: [
                                                (Sentence
                                                  child: 
                                                    (AndOr
                                                      children: [
                                                        (C {(test)} {(no)} {(Lit_Other '=')} 
                                                          {(DQ ($ VSub_Name '$use_static_libs'))}
                                                        )
                                                        (C {(test)} {(-z)} 
                                                          {(DQ ($ VSub_Name '$old_library'))}
                                                        )
                                                      ]
                                                      op_id: Op_DPipe
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              spids: [38572]
                                            )
                                          ]
                                          op_id: Op_DAmp
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Case
                                      to_match: {($ VSub_Name '$host')}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (cygwin) (Lit_Other '*')}
                                            {(Lit_Other '*') (mingw) (Lit_Other '*')}
                                            {(Lit_Other '*') (cegcc) (Lit_Other '*')}
                                            {(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: [38646]
                                                )
                                              ]
                                              spids: [38646]
                                            )
                                          ]
                                          spids: [38608 38629 38650 -1]
                                        )
                                        (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: [38683]
                                                        )
                                                      ]
                                                      spids: [38683]
                                                    )
                                                  ]
                                                  spids: [-1 38670]
                                                )
                                              ]
                                              spids: [-1 38687]
                                            )
                                          ]
                                          spids: [38653 38654 38690 -1]
                                        )
                                      ]
                                      spids: [38601 38605 38693]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dlopenmodule)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [38709]
                                        )
                                      ]
                                      spids: [38709]
                                    )
                                    (ForEach
                                      iter_name: dlpremoduletest
                                      iter_words: [{($ VSub_Name '$dlprefiles')}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} 
                                                          {(DQ (X) ($ VSub_Name '$dlpremoduletest'))} {(Lit_Other '=')} {(DQ (X) ($ VSub_Name '$lib'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:dlopenmodule)
                                                          op: Equal
                                                          rhs: {($ VSub_Name '$dlpremoduletest')}
                                                          spids: [38744]
                                                        )
                                                      ]
                                                      spids: [38744]
                                                    )
                                                    (ControlFlow
                                                      token: <ControlFlow_Break break>
                                                    )
                                                  ]
                                                  spids: [-1 38741]
                                                )
                                              ]
                                              spids: [-1 38751]
                                            )
                                          ]
                                          spids: [38721 38754]
                                        )
                                      spids: [38717 38719]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-z)} 
                                                      {(DQ ($ VSub_Name '$dlopenmodule'))}
                                                    )
                                                    (AndOr
                                                      children: [
                                                        (C {(test)} {(yes)} {(Lit_Other '=')} 
                                                          {(DQ ($ VSub_Name '$shouldnotlink'))}
                                                        )
                                                        (C {(test)} {(link)} {(Lit_Other '=')} 
                                                          {(DQ ($ VSub_Name '$pass'))}
                                                        )
                                                      ]
                                                      op_id: Op_DAmp
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              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: [-1 38811]
                                                )
                                              ]
                                              else_action: [
                                                (C {($ VSub_Name '$ECHO')} 
                                                  {
                                                    (DQ ('*** Warning: Linking the shared library ') 
                                                      ($ VSub_Name '$output') (' against the loadable module')
                                                    )
                                                  }
                                                )
                                              ]
                                              spids: [38823 38835]
                                            )
                                            (C {($ VSub_Name '$ECHO')} 
                                              {
                                                (DQ ('*** ') ($ VSub_Name '$linklib') 
                                                  (' is not portable!')
                                                )
                                              }
                                            )
                                          ]
                                          spids: [-1 38792]
                                        )
                                      ]
                                      spids: [-1 38847]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(lib)} {(Lit_Other '=')} 
                                                      {(DQ ($ VSub_Name '$linkmode'))}
                                                    )
                                                    (C {(test)} {(yes)} {(Lit_Other '=')} 
                                                      {(DQ ($ VSub_Name '$hardcode_into_libs'))}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Case
                                              to_match: 
                                                {
                                                  (DQ (' ') ($ VSub_Name '$sys_lib_dlsearch_path') 
                                                    (' ')
                                                  )
                                                }
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other '*') 
                                                      (DQ (' ') ($ VSub_Name '$absdir') (' ')) (Lit_Other '*')
                                                    }
                                                  ]
                                                  spids: [38902 38909 38911 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (Case
                                                      to_match: 
                                                        {(DQ ($ VSub_Name '$compile_rpath') (' '))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other '*') 
                                                              (DQ (' ') ($ VSub_Name '$absdir') (' ')) (Lit_Other '*')
                                                            }
                                                          ]
                                                          spids: [38928 38935 38937 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (C {(func_append)} {(compile_rpath)} 
                                                              {(DQ (' ') ($ VSub_Name '$absdir'))}
                                                            )
                                                          ]
                                                          spids: [38940 38941 38952 -1]
                                                        )
                                                      ]
                                                      spids: [38918 38925 38955]
                                                    )
                                                  ]
                                                  spids: [38914 38915 38958 -1]
                                                )
                                              ]
                                              spids: [38891 38899 38961]
                                            )
                                            (Case
                                              to_match: 
                                                {
                                                  (DQ (' ') ($ VSub_Name '$sys_lib_dlsearch_path') 
                                                    (' ')
                                                  )
                                                }
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other '*') 
                                                      (DQ (' ') ($ VSub_Name '$libdir') (' ')) (Lit_Other '*')
                                                    }
                                                  ]
                                                  spids: [38975 38982 38984 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (Case
                                                      to_match: 
                                                        {(DQ ($ VSub_Name '$finalize_rpath') (' '))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other '*') 
                                                              (DQ (' ') ($ VSub_Name '$libdir') (' ')) (Lit_Other '*')
                                                            }
                                                          ]
                                                          spids: [39001 39008 39010 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (C {(func_append)} {(finalize_rpath)} 
                                                              {(DQ (' ') ($ VSub_Name '$libdir'))}
                                                            )
                                                          ]
                                                          spids: [39013 39014 39025 -1]
                                                        )
                                                      ]
                                                      spids: [38991 38998 39028]
                                                    )
                                                  ]
                                                  spids: [38987 38988 39031 -1]
                                                )
                                              ]
                                              spids: [38964 38972 39034]
                                            )
                                          ]
                                          spids: [-1 38876]
                                        )
                                      ]
                                      spids: [-1 39037]
                                    )
                                    (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: [39069]
                                                )
                                              ]
                                              spids: [39069]
                                            )
                                            (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: [39077 39088]
                                                      )
                                                    }
                                                  spids: [39076]
                                                )
                                              ]
                                              spids: [39076]
                                            )
                                            (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: [39109]
                                                        )
                                                      ]
                                                      spids: [39109]
                                                    )
                                                  ]
                                                  spids: [-1 39106]
                                                )
                                                (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: [39170]
                                                                )
                                                              ]
                                                              spids: [39170]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:versuffix)
                                                                  op: Equal
                                                                  rhs: {(-) ($ VSub_Name '$major')}
                                                                  spids: [39174]
                                                                )
                                                              ]
                                                              spids: [39174]
                                                            )
                                                          ]
                                                          spids: [39138 39158 39179 -1]
                                                        )
                                                      ]
                                                      spids: [39131 39135 39182]
                                                    )
                                                    (C {(eval)} 
                                                      {(Lit_VarLike 'soname=') 
                                                        (EscapedLiteralPart
                                                          token: <Lit_EscapedChar '\\"'>
                                                        ) ($ VSub_Name '$soname_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                      }
                                                    )
                                                  ]
                                                  spids: [39113 39124]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:soname)
                                                      op: Equal
                                                      rhs: {($ VSub_Name '$realname')}
                                                      spids: [39196]
                                                    )
                                                  ]
                                                  spids: [39196]
                                                )
                                              ]
                                              spids: [39193 39200]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:soroot)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$soname')}
                                                  spids: [39208]
                                                )
                                              ]
                                              spids: [39208]
                                            )
                                            (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: [39219]
                                                )
                                              ]
                                              spids: [39219]
                                            )
                                            (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: [39238]
                                                )
                                              ]
                                              spids: [39238]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-f)} 
                                                          {
                                                            (DQ ($ VSub_Name '$output_objdir') (/) 
                                                              ($ VSub_Name '$soname') (-def)
                                                            )
                                                          }
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [(C {(Lit_Other ':')})]
                                                  spids: [-1 39263]
                                                )
                                              ]
                                              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: [39268 39291]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-f)} 
                                                          {
                                                            (DQ ($ VSub_Name '$output_objdir') (/) 
                                                              ($ VSub_Name '$newlib')
                                                            )
                                                          }
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Sentence
                                                      child: (C {(Lit_Other ':')})
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  spids: [-1 39312]
                                                )
                                              ]
                                              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: [39317 39340]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dir)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$output_objdir')}
                                                  spids: [39347]
                                                )
                                              ]
                                              spids: [39347]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:linklib)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$newlib')}
                                                  spids: [39351]
                                                )
                                              ]
                                              spids: [39351]
                                            )
                                          ]
                                          spids: [-1 39052]
                                        )
                                      ]
                                      spids: [-1 39355]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(prog)} {(Lit_Other '=')} 
                                                      {(DQ ($ VSub_Name '$linkmode'))}
                                                    )
                                                    (C {(test)} {(relink)} 
                                                      {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$opt_mode'))}
                                                    )
                                                  ]
                                                  op_id: Op_DPipe
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add_shlibpath)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [39391]
                                                )
                                              ]
                                              spids: [39391]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add_dir)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [39394]
                                                )
                                              ]
                                              spids: [39394]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [39397]
                                                )
                                              ]
                                              spids: [39397]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:lib_linked)
                                                  op: Equal
                                                  rhs: {(yes)}
                                                  spids: [39400]
                                                )
                                              ]
                                              spids: [39400]
                                            )
                                            (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: [39435]
                                                                )
                                                              ]
                                                              spids: [39435]
                                                            )
                                                            (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: [39458]
                                                                        )
                                                                      ]
                                                                      spids: [39458]
                                                                    )
                                                                  ]
                                                                  spids: [39448 39456 39462 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other '*') (-) 
                                                                      (Lit_Other '*') (-sysv4) (Lit_Other '*') (uw2) (Lit_Other '*')
                                                                    }
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:add_dir)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {(-L) 
                                                                              ($ VSub_Name '$dir')
                                                                            }
                                                                          spids: [39474]
                                                                        )
                                                                      ]
                                                                      spids: [39474]
                                                                    )
                                                                  ]
                                                                  spids: [39465 39472 39478 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other '*') (-) 
                                                                      (Lit_Other '*') (-sysv5OpenUNIX) (Lit_Other '*')
                                                                    }
                                                                    {(Lit_Other '*') (-) 
                                                                      (Lit_Other '*') (-sysv5UnixWare7.) (Lit_Other '[') (01) (Lit_Other ']') (.) (Lit_Other '[') (10) (Lit_Other ']') 
                                                                      (Lit_Other '*')
                                                                    }
                                                                    {(Lit_Other '*') (-) 
                                                                      (Lit_Other '*') (-unixware7) (Lit_Other '*')
                                                                    }
                                                                  ]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:add_dir)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {(-L) 
                                                                              ($ VSub_Name '$dir')
                                                                            }
                                                                          spids: [39513]
                                                                        )
                                                                      ]
                                                                      spids: [39513]
                                                                    )
                                                                  ]
                                                                  spids: [39481 39511 39517 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other '*') (-) 
                                                                      (Lit_Other '*') (-darwin) (Lit_Other '*')
                                                                    }
                                                                  ]
                                                                  action: [
                                                                    (If
                                                                      arms: [
                                                                        (if_arm
                                                                          cond: [
                                                                            (Sentence
                                                                              child: 
                                                                                (Pipeline
                                                                                  children: [
                                                                                    (SimpleCommand
                                                                                      words: [
                                                                                        {
                                                                                          (
/usr/bin/file
                                                                                          )
                                                                                        }
                                                                                        {(-L)}
                                                                                        {
                                                                                          ($ 
VSub_Name '$add'
                                                                                          )
                                                                                        }
                                                                                      ]
                                                                                      redirects: [
                                                                                        (Redir
                                                                                          op_id: 
Redir_Great
                                                                                          fd: 2
                                                                                          arg_word: 
                                                                                            {
                                                                                              (
/dev/null
                                                                                              )
                                                                                            }
                                                                                          spids: [
39545
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                    )
                                                                                    (SimpleCommand
                                                                                      words: [
                                                                                        {
                                                                                          ($ 
VSub_Name '$GREP'
                                                                                          )
                                                                                        }
                                                                                        {
                                                                                          (DQ 
                                                                                            (
': [^:]* bundle'
                                                                                            )
                                                                                          )
                                                                                        }
                                                                                      ]
                                                                                      redirects: [
                                                                                        (Redir
                                                                                          op_id: 
Redir_Great
                                                                                          fd: -1
                                                                                          arg_word: 
                                                                                            {
                                                                                              (
/dev/null
                                                                                              )
                                                                                            }
                                                                                          spids: [
39558
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  negated: False
                                                                                )
                                                                              terminator: 
                                                                                <Op_Semi ';'>
                                                                            )
                                                                          ]
                                                                          action: [
                                                                            (If
                                                                              arms: [
                                                                                (if_arm
                                                                                  cond: [
                                                                                    (Sentence
                                                                                      child: 
                                                                                        (C {(test)} 
                                                                                          {
                                                                                            (DQ (X) 
                                                                                              ($ 
VSub_Name '$dlopenmodule'
                                                                                              )
                                                                                            )
                                                                                          } {(KW_Bang '!') (Lit_Other '=')} {(DQ (X) ($ VSub_Name '$lib'))}
                                                                                        )
                                                                                      terminator: 
                                                                                        <Op_Semi 
';'
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  action: [
                                                                                    (C 
                                                                                      {
                                                                                        ($ VSub_Name 
'$ECHO'
                                                                                        )
                                                                                      } {(DQ ('*** Warning: lib ') ($ VSub_Name '$linklib') (' is a module, not a shared library'))}
                                                                                    )
                                                                                    (If
                                                                                      arms: [
                                                                                        (if_arm
                                                                                          cond: [
                                                                                            (Sentence
                                                                                              child: 
                                                                                                (C 
                                                                                                  {
                                                                                                    (
test
                                                                                                    )
                                                                                                  } {(-z)} {(DQ ($ VSub_Name '$old_library'))}
                                                                                                )
                                                                                              terminator: 
                                                                                                <
Op_Semi ';'
                                                                                                >
                                                                                            )
                                                                                          ]
                                                                                          action: [
                                                                                            (C 
                                                                                              {
                                                                                                (
echo
                                                                                                )
                                                                                              }
                                                                                            )
                                                                                            (C 
                                                                                              {
                                                                                                (
echo
                                                                                                )
                                                                                              } {(DQ ("*** And there doesn't seem to be a static archive available"))}
                                                                                            )
                                                                                            (C 
                                                                                              {
                                                                                                (
echo
                                                                                                )
                                                                                              } {(DQ ('*** The link will probably fail, sorry'))}
                                                                                            )
                                                                                          ]
                                                                                          spids: [
-1
39606
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      else_action: [
                                                                                        (Assignment
                                                                                          keyword: 
Assign_None
                                                                                          pairs: [
                                                                                            (assign_pair
                                                                                              lhs: 
                                                                                                (LhsName
                                                                                                  name: 
add
                                                                                                )
                                                                                              op: 
                                                                                                Equal
                                                                                              rhs: 
                                                                                                {
                                                                                                  ($ 
VSub_Name '$dir'
                                                                                                  ) (/) ($ VSub_Name '$old_library')
                                                                                                }
                                                                                              spids: [
39629
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
39629
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
39626
39635
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  spids: [-1 39583]
                                                                                )
                                                                                (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: [
39652
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [39652]
                                                                                    )
                                                                                  ]
                                                                                  spids: [39638 39649]
                                                                                )
                                                                              ]
                                                                              spids: [-1 39658]
                                                                            )
                                                                          ]
                                                                          spids: [-1 39562]
                                                                        )
                                                                      ]
                                                                      spids: [-1 39661]
                                                                    )
                                                                  ]
                                                                  spids: [39520 39526 -1 39664]
                                                                )
                                                              ]
                                                              spids: [39441 39445 39664]
                                                            )
                                                          ]
                                                          spids: [-1 39432]
                                                        )
                                                        (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: [39697]
                                                                        )
                                                                      ]
                                                                      spids: [39697]
                                                                    )
                                                                  ]
                                                                  spids: [39690 39695 39700 -1]
                                                                )
                                                              ]
                                                              spids: [39683 39687 39703]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add_dir)
                                                                  op: Equal
                                                                  rhs: {(-L) ($ VSub_Name '$dir')}
                                                                  spids: [39706]
                                                                )
                                                              ]
                                                              spids: [39706]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: {(-l) ($ VSub_Name '$name')}
                                                                  spids: [39711]
                                                                )
                                                              ]
                                                              spids: [39711]
                                                            )
                                                          ]
                                                          spids: [39667 39680]
                                                        )
                                                        (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: [39732]
                                                                )
                                                              ]
                                                              spids: [39732]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: {(-l) ($ VSub_Name '$name')}
                                                                  spids: [39736]
                                                                )
                                                              ]
                                                              spids: [39736]
                                                            )
                                                          ]
                                                          spids: [39716 39729]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:lib_linked)
                                                              op: Equal
                                                              rhs: {(no)}
                                                              spids: [39744]
                                                            )
                                                          ]
                                                          spids: [39744]
                                                        )
                                                      ]
                                                      spids: [39741 39748]
                                                    )
                                                  ]
                                                  spids: [39411 39416 39751 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(relink)}]
                                                  action: [
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (AndOr
                                                                  children: [
                                                                    (C {(test)} {(yes)} 
                                                                      {(Lit_Other '=')} {(DQ ($ VSub_Name '$hardcode_direct'))}
                                                                    )
                                                                    (C {(test)} {(no)} {(Lit_Other '=')} 
                                                                      {
                                                                        (DQ 
                                                                          ($ VSub_Name 
'$hardcode_direct_absolute'
                                                                          )
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  op_id: Op_DAmp
                                                                )
                                                              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: [39787]
                                                                )
                                                              ]
                                                              spids: [39787]
                                                            )
                                                          ]
                                                          spids: [-1 39784]
                                                        )
                                                        (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: [39809]
                                                                )
                                                              ]
                                                              spids: [39809]
                                                            )
                                                            (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: [39839 39844 39858 -1]
                                                                        )
                                                                      ]
                                                                      spids: [39832 39836 39861]
                                                                    )
                                                                  ]
                                                                  spids: [-1 39829]
                                                                )
                                                              ]
                                                              spids: [-1 39864]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: {(-l) ($ VSub_Name '$name')}
                                                                  spids: [39867]
                                                                )
                                                              ]
                                                              spids: [39867]
                                                            )
                                                          ]
                                                          spids: [39793 39806]
                                                        )
                                                        (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: [39888]
                                                                )
                                                              ]
                                                              spids: [39888]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: {(-l) ($ VSub_Name '$name')}
                                                                  spids: [39892]
                                                                )
                                                              ]
                                                              spids: [39892]
                                                            )
                                                          ]
                                                          spids: [39872 39885]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:lib_linked)
                                                              op: Equal
                                                              rhs: {(no)}
                                                              spids: [39900]
                                                            )
                                                          ]
                                                          spids: [39900]
                                                        )
                                                      ]
                                                      spids: [39897 39904]
                                                    )
                                                  ]
                                                  spids: [39754 39755 39907 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:lib_linked)
                                                          op: Equal
                                                          rhs: {(no)}
                                                          spids: [39913]
                                                        )
                                                      ]
                                                      spids: [39913]
                                                    )
                                                  ]
                                                  spids: [39910 39911 39916 -1]
                                                )
                                              ]
                                              spids: [39404 39408 39919]
                                            )
                                            (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: [-1 39937]
                                                )
                                              ]
                                              spids: [-1 39947]
                                            )
                                            (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: [39974 39981 39983 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (C {(func_append)} {(compile_shlibpath)} 
                                                              {
                                                                (DQ ($ VSub_Name '$add_shlibpath') 
                                                                  (':')
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [39986 39987 39998 -1]
                                                        )
                                                      ]
                                                      spids: [39965 39971 40001]
                                                    )
                                                  ]
                                                  spids: [-1 39962]
                                                )
                                              ]
                                              spids: [-1 40004]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(prog)} {(Lit_Other '=')} 
                                                          {(DQ ($ VSub_Name '$linkmode'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (AndOr
                                                      children: [
                                                        (C {(test)} {(-n)} 
                                                          {(DQ ($ VSub_Name '$add_dir'))}
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:compile_deplibs)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ ($ VSub_Name '$add_dir') (' ') 
                                                                    ($ VSub_Name '$compile_deplibs')
                                                                  )
                                                                }
                                                              spids: [40033]
                                                            )
                                                          ]
                                                          spids: [40033]
                                                        )
                                                      ]
                                                      op_id: Op_DAmp
                                                    )
                                                    (AndOr
                                                      children: [
                                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$add'))})
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:compile_deplibs)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ ($ VSub_Name '$add') (' ') 
                                                                    ($ VSub_Name '$compile_deplibs')
                                                                  )
                                                                }
                                                              spids: [40051]
                                                            )
                                                          ]
                                                          spids: [40051]
                                                        )
                                                      ]
                                                      op_id: Op_DAmp
                                                    )
                                                  ]
                                                  spids: [-1 40020]
                                                )
                                              ]
                                              else_action: [
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$add_dir'))})
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$add_dir') (' ') 
                                                                ($ VSub_Name '$deplibs')
                                                              )
                                                            }
                                                          spids: [40072]
                                                        )
                                                      ]
                                                      spids: [40072]
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$add'))})
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$add') (' ') 
                                                                ($ VSub_Name '$deplibs')
                                                              )
                                                            }
                                                          spids: [40090]
                                                        )
                                                      ]
                                                      spids: [40090]
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                                (If
                                                  arms: [
                                                    (if_arm
                                                      cond: [
                                                        (Sentence
                                                          child: 
                                                            (AndOr
                                                              children: [
                                                                (C {(test)} {(yes)} 
                                                                  {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$hardcode_direct'))}
                                                                )
                                                                (AndOr
                                                                  children: [
                                                                    (C {(test)} {(yes)} 
                                                                      {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$hardcode_minus_L'))}
                                                                    )
                                                                    (C {(test)} {(yes)} 
                                                                      {(Lit_Other '=')} {(DQ ($ VSub_Name '$hardcode_shlibpath_var'))}
                                                                    )
                                                                  ]
                                                                  op_id: Op_DAmp
                                                                )
                                                              ]
                                                              op_id: Op_DAmp
                                                            )
                                                          terminator: <Op_Semi ';'>
                                                        )
                                                      ]
                                                      action: [
                                                        (Case
                                                          to_match: 
                                                            {(Lit_Other ':') 
                                                              ($ VSub_Name '$finalize_shlibpath') (Lit_Other ':')
                                                            }
                                                          arms: [
                                                            (case_arm
                                                              pat_list: [
                                                                {(Lit_Other '*') 
                                                                  (DQ (':') ($ VSub_Name '$libdir') 
                                                                    (':')
                                                                  ) (Lit_Other '*')
                                                                }
                                                              ]
                                                              spids: [40151 40158 40160 -1]
                                                            )
                                                            (case_arm
                                                              pat_list: [{(Lit_Other '*')}]
                                                              action: [
                                                                (C {(func_append)} 
                                                                  {(finalize_shlibpath)} {(DQ ($ VSub_Name '$libdir') (':'))}
                                                                )
                                                              ]
                                                              spids: [40163 40164 40175 -1]
                                                            )
                                                          ]
                                                          spids: [40142 40148 40178]
                                                        )
                                                      ]
                                                      spids: [-1 40139]
                                                    )
                                                  ]
                                                  spids: [-1 40181]
                                                )
                                              ]
                                              spids: [40059 40184]
                                            )
                                          ]
                                          spids: [-1 39388]
                                        )
                                      ]
                                      spids: [-1 40187]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(prog)} {(Lit_Other '=')} 
                                                      {(DQ ($ VSub_Name '$linkmode'))}
                                                    )
                                                    (C {(test)} {(relink)} {(Lit_Other '=')} 
                                                      {(DQ ($ VSub_Name '$opt_mode'))}
                                                    )
                                                  ]
                                                  op_id: Op_DPipe
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add_shlibpath)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [40219]
                                                )
                                              ]
                                              spids: [40219]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add_dir)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [40222]
                                                )
                                              ]
                                              spids: [40222]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [40225]
                                                )
                                              ]
                                              spids: [40225]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (AndOr
                                                          children: [
                                                            (C {(test)} {(yes)} {(Lit_Other '=')} 
                                                              {(DQ ($ VSub_Name '$hardcode_direct'))}
                                                            )
                                                            (C {(test)} {(no)} {(Lit_Other '=')} 
                                                              {
                                                                (DQ 
                                                                  ($ VSub_Name 
'$hardcode_direct_absolute'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          op_id: Op_DAmp
                                                        )
                                                      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: [40261]
                                                        )
                                                      ]
                                                      spids: [40261]
                                                    )
                                                  ]
                                                  spids: [-1 40258]
                                                )
                                                (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: [40283]
                                                        )
                                                      ]
                                                      spids: [40283]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:add)
                                                          op: Equal
                                                          rhs: {(-l) ($ VSub_Name '$name')}
                                                          spids: [40288]
                                                        )
                                                      ]
                                                      spids: [40288]
                                                    )
                                                  ]
                                                  spids: [40267 40280]
                                                )
                                                (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: [40318 40325 40327 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (C {(func_append)} {(finalize_shlibpath)} 
                                                              {(DQ ($ VSub_Name '$libdir') (':'))}
                                                            )
                                                          ]
                                                          spids: [40330 40331 40342 -1]
                                                        )
                                                      ]
                                                      spids: [40309 40315 40345]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:add)
                                                          op: Equal
                                                          rhs: {(-l) ($ VSub_Name '$name')}
                                                          spids: [40348]
                                                        )
                                                      ]
                                                      spids: [40348]
                                                    )
                                                  ]
                                                  spids: [40293 40306]
                                                )
                                                (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
                                                                  children: [
                                                                    (C {(test)} {(-n)} 
                                                                      {
                                                                        (DQ 
                                                                          ($ VSub_Name 
'$inst_prefix_dir'
                                                                          )
                                                                        )
                                                                      }
                                                                    )
                                                                    (C {(test)} {(-f)} 
                                                                      {
                                                                        (DQ 
                                                                          ($ VSub_Name 
'$inst_prefix_dir'
                                                                          ) ($ VSub_Name '$libdir') (/) ($ VSub_Name '$linklib')
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  op_id: Op_DAmp
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      ($ VSub_Name '$inst_prefix_dir') ($ VSub_Name '$libdir') (/) ($ VSub_Name '$linklib')
                                                                    }
                                                                  spids: [40397]
                                                                )
                                                              ]
                                                              spids: [40397]
                                                            )
                                                          ]
                                                          spids: [-1 40394]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:add)
                                                              op: Equal
                                                              rhs: 
                                                                {($ VSub_Name '$libdir') (/) 
                                                                  ($ VSub_Name '$linklib')
                                                                }
                                                              spids: [40407]
                                                            )
                                                          ]
                                                          spids: [40407]
                                                        )
                                                      ]
                                                      spids: [40404 40413]
                                                    )
                                                  ]
                                                  spids: [40353 40366]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:add_dir)
                                                      op: Equal
                                                      rhs: {(-L) ($ VSub_Name '$libdir')}
                                                      spids: [40423]
                                                    )
                                                  ]
                                                  spids: [40423]
                                                )
                                                (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: [40453 40458 40472 -1]
                                                            )
                                                          ]
                                                          spids: [40446 40450 40475]
                                                        )
                                                      ]
                                                      spids: [-1 40443]
                                                    )
                                                  ]
                                                  spids: [-1 40478]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:add)
                                                      op: Equal
                                                      rhs: {(-l) ($ VSub_Name '$name')}
                                                      spids: [40481]
                                                    )
                                                  ]
                                                  spids: [40481]
                                                )
                                              ]
                                              spids: [40416 40486]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(prog)} {(Lit_Other '=')} 
                                                          {(DQ ($ VSub_Name '$linkmode'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (AndOr
                                                      children: [
                                                        (C {(test)} {(-n)} 
                                                          {(DQ ($ VSub_Name '$add_dir'))}
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:finalize_deplibs)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ ($ VSub_Name '$add_dir') (' ') 
                                                                    ($ VSub_Name '$finalize_deplibs')
                                                                  )
                                                                }
                                                              spids: [40516]
                                                            )
                                                          ]
                                                          spids: [40516]
                                                        )
                                                      ]
                                                      op_id: Op_DAmp
                                                    )
                                                    (AndOr
                                                      children: [
                                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$add'))})
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:finalize_deplibs)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (DQ ($ VSub_Name '$add') (' ') 
                                                                    ($ VSub_Name '$finalize_deplibs')
                                                                  )
                                                                }
                                                              spids: [40534]
                                                            )
                                                          ]
                                                          spids: [40534]
                                                        )
                                                      ]
                                                      op_id: Op_DAmp
                                                    )
                                                  ]
                                                  spids: [-1 40503]
                                                )
                                              ]
                                              else_action: [
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$add_dir'))})
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$add_dir') (' ') 
                                                                ($ VSub_Name '$deplibs')
                                                              )
                                                            }
                                                          spids: [40555]
                                                        )
                                                      ]
                                                      spids: [40555]
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$add'))})
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$add') (' ') 
                                                                ($ VSub_Name '$deplibs')
                                                              )
                                                            }
                                                          spids: [40573]
                                                        )
                                                      ]
                                                      spids: [40573]
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              ]
                                              spids: [40542 40581]
                                            )
                                          ]
                                          spids: [-1 40216]
                                        )
                                      ]
                                      spids: [-1 40584]
                                    )
                                  ]
                                  spids: [-1 38598]
                                )
                                (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
                                              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: [40642]
                                                    )
                                                  ]
                                                  spids: [40642]
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:compile_deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$dir') (/) 
                                                        ($ VSub_Name '$linklib') (' ') ($ VSub_Name '$compile_deplibs')
                                                      )
                                                    }
                                                  spids: [40646]
                                                )
                                              ]
                                              spids: [40646]
                                            )
                                            (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: [40656]
                                                )
                                              ]
                                              spids: [40656]
                                            )
                                          ]
                                          spids: [-1 40629]
                                        )
                                      ]
                                      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: [40669]
                                            )
                                          ]
                                          spids: [40669]
                                        )
                                        (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: [40680]
                                            )
                                          ]
                                          spids: [40680]
                                        )
                                      ]
                                      spids: [40666 40691]
                                    )
                                  ]
                                  spids: [40587 40600]
                                )
                                (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: [-1 40829]
                                                        )
                                                      ]
                                                      spids: [-1 40863]
                                                    )
                                                    (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: [40882]
                                                                )
                                                              ]
                                                              spids: [40882]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:build_old_libs)
                                                                  op: Equal
                                                                  rhs: {(yes)}
                                                                  spids: [40886]
                                                                )
                                                              ]
                                                              spids: [40886]
                                                            )
                                                          ]
                                                          spids: [-1 40879]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:build_libtool_libs)
                                                              op: Equal
                                                              rhs: {(no)}
                                                              spids: [40893]
                                                            )
                                                          ]
                                                          spids: [40893]
                                                        )
                                                      ]
                                                      spids: [40890 40897]
                                                    )
                                                  ]
                                                  spids: [-1 40794]
                                                )
                                              ]
                                              spids: [-1 40900]
                                            )
                                          ]
                                          spids: [-1 40728]
                                        )
                                      ]
                                      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: [40906]
                                            )
                                          ]
                                          spids: [40906]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:link_static)
                                              op: Equal
                                              rhs: {(yes)}
                                              spids: [40916]
                                            )
                                          ]
                                          spids: [40916]
                                        )
                                      ]
                                      spids: [40903 40920]
                                    )
                                  ]
                                  spids: [40694 40707]
                                )
                              ]
                              spids: [-1 40923]
                            )
                            (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
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$dependency_libs'))}
                                                    )
                                                    (BraceGroup
                                                      children: [
                                                        (Sentence
                                                          child: 
                                                            (AndOr
                                                              children: [
                                                                (C {(test)} {(yes)} 
                                                                  {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$hardcode_into_libs'))}
                                                                )
                                                                (AndOr
                                                                  children: [
                                                                    (C {(test)} {(yes)} 
                                                                      {(Lit_Other '=')} {(DQ ($ VSub_Name '$build_old_libs'))}
                                                                    )
                                                                    (C {(test)} {(yes)} 
                                                                      {(Lit_Other '=')} {(DQ ($ VSub_Name '$link_static'))}
                                                                    )
                                                                  ]
                                                                  op_id: Op_DPipe
                                                                )
                                                              ]
                                                              op_id: Op_DPipe
                                                            )
                                                          terminator: <Op_Semi ';'>
                                                        )
                                                      ]
                                                      spids: [40959]
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:temp_deplibs)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [41009]
                                                )
                                              ]
                                              spids: [41009]
                                            )
                                            (ForEach
                                              iter_name: libdir
                                              iter_words: [{($ VSub_Name '$dependency_libs')}]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Case
                                                      to_match: {($ VSub_Name '$libdir')}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(-R) (Lit_Other '*')}]
                                                          action: [
                                                            (C {(func_stripname)} {(SQ <-R>)} {(SQ )} 
                                                              {(DQ ($ VSub_Name '$libdir'))}
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:temp_xrpath)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      ($ VSub_Name 
'$func_stripname_result'
                                                                      )
                                                                    }
                                                                  spids: [41049]
                                                                )
                                                              ]
                                                              spids: [41049]
                                                            )
                                                            (Case
                                                              to_match: 
                                                                {
                                                                  (DQ (' ') ($ VSub_Name '$xrpath') 
                                                                    (' ')
                                                                  )
                                                                }
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other '*') 
                                                                      (DQ (' ') 
                                                                        ($ VSub_Name '$temp_xrpath') (' ')
                                                                      ) (Lit_Other '*')
                                                                    }
                                                                  ]
                                                                  spids: [41064 41071 41073 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(Lit_Other '*')}]
                                                                  action: [
                                                                    (C {(func_append)} {(xrpath)} 
                                                                      {
                                                                        (DQ (' ') 
                                                                          ($ VSub_Name '$temp_xrpath')
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [41076 41077 41087 -1]
                                                                )
                                                              ]
                                                              spids: [41053 41061 41090]
                                                            )
                                                          ]
                                                          spids: [41031 41033 41091 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (C {(func_append)} {(temp_deplibs)} 
                                                              {(DQ (' ') ($ VSub_Name '$libdir'))}
                                                            )
                                                          ]
                                                          spids: [41094 41095 41105 -1]
                                                        )
                                                      ]
                                                      spids: [41024 41028 41108]
                                                    )
                                                  ]
                                                  spids: [41021 41111]
                                                )
                                              spids: [41017 41019]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dependency_libs)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$temp_deplibs')}
                                                  spids: [41114]
                                                )
                                              ]
                                              spids: [41114]
                                            )
                                          ]
                                          spids: [-1 41002]
                                        )
                                      ]
                                      spids: [-1 41118]
                                    )
                                    (C {(func_append)} {(newlib_search_path)} 
                                      {(DQ (' ') ($ VSub_Name '$absdir'))}
                                    )
                                    (AndOr
                                      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: [41148]
                                            )
                                          ]
                                          spids: [41148]
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_libs)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [41162]
                                        )
                                      ]
                                      spids: [41162]
                                    )
                                    (ForEach
                                      iter_name: deplib
                                      iter_words: [{($ VSub_Name '$dependency_libs')}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newdependency_libs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$deplib') (' ') 
                                                        ($ VSub_Name '$newdependency_libs')
                                                      )
                                                    }
                                                  spids: [41177]
                                                )
                                              ]
                                              spids: [41177]
                                            )
                                            (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: [41192 41194 41215 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (C {(func_resolve_sysroot)} 
                                                      {(DQ ($ VSub_Name '$deplib'))}
                                                    )
                                                  ]
                                                  spids: [41218 41219 41227 -1]
                                                )
                                              ]
                                              spids: [41185 41189 41230]
                                            )
                                            (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: [41251 41258 41270 -1]
                                                        )
                                                      ]
                                                      spids: [41241 41248 41273]
                                                    )
                                                  ]
                                                  spids: [-1 41238]
                                                )
                                              ]
                                              spids: [-1 41276]
                                            )
                                            (C {(func_append)} {(tmp_libs)} 
                                              {
                                                (DQ (' ') ($ VSub_Name '$func_resolve_sysroot_result'))
                                              }
                                            )
                                          ]
                                          spids: [41174 41289]
                                        )
                                      spids: [41170 41172]
                                    )
                                    (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: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:path)
                                                          op: Equal
                                                          rhs: {(SQ )}
                                                          spids: [41326]
                                                        )
                                                      ]
                                                      spids: [41326]
                                                    )
                                                    (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: [41340]
                                                                )
                                                              ]
                                                              spids: [41340]
                                                            )
                                                          ]
                                                          spids: [41336 41338 41343 -1]
                                                        )
                                                        (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: [41358]
                                                                )
                                                              ]
                                                              spids: [41358]
                                                            )
                                                            (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: [41376]
                                                                )
                                                              ]
                                                              spids: [41376]
                                                            )
                                                            (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: [41410]
                                                                        )
                                                                      ]
                                                                      spids: [41410]
                                                                    )
                                                                  ]
                                                                  spids: [41391 41408 41413 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(Lit_Other '*')}]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: (LhsName name:absdir)
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (CommandSubPart
                                                                                command_list: 
                                                                                  (CommandList
                                                                                    children: [
                                                                                      (AndOr
                                                                                        children: [
                                                                                          (C {(cd)} 
                                                                                            {
                                                                                              (DQ 
                                                                                                ($ 
VSub_Name '$dir'
                                                                                                )
                                                                                              )
                                                                                            }
                                                                                          )
                                                                                          (C {(pwd)})
                                                                                        ]
                                                                                        op_id: 
Op_DAmp
                                                                                      )
                                                                                    ]
                                                                                  )
                                                                                left_token: 
                                                                                  <Left_Backtick 
'`'
                                                                                  >
                                                                                spids: [41421 41431]
                                                                              )
                                                                            }
                                                                          spids: [41420]
                                                                        )
                                                                      ]
                                                                      spids: [41420]
                                                                    )
                                                                    (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: [41457]
                                                                                )
                                                                              ]
                                                                              spids: [41457]
                                                                            )
                                                                          ]
                                                                          spids: [-1 41445]
                                                                        )
                                                                      ]
                                                                      spids: [-1 41461]
                                                                    )
                                                                  ]
                                                                  spids: [41416 41417 41464 -1]
                                                                )
                                                              ]
                                                              spids: [41384 41388 41467]
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (SimpleCommand
                                                                          words: [
                                                                            {($ VSub_Name '$GREP')}
                                                                            {(DQ ('^installed=no'))}
                                                                            {
                                                                              ($ VSub_Name '$deplib')
                                                                            }
                                                                          ]
                                                                          redirects: [
                                                                            (Redir
                                                                              op_id: Redir_Great
                                                                              fd: -1
                                                                              arg_word: {(/dev/null)}
                                                                              spids: [41480]
                                                                            )
                                                                          ]
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (Case
                                                                      to_match: 
                                                                        {($ VSub_Name '$host')}
                                                                      arms: [
                                                                        (case_arm
                                                                          pat_list: [
                                                                            {(Lit_Other '*') (-) 
                                                                              (Lit_Other '*') (-darwin) (Lit_Other '*')
                                                                            }
                                                                          ]
                                                                          action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: depdepl
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: {(SQ )}
                                                                                  spids: [41503]
                                                                                )
                                                                              ]
                                                                              spids: [41503]
                                                                            )
                                                                            (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: [41509 41521]
                                                                                )
                                                                              }
                                                                            )
                                                                            (If
                                                                              arms: [
                                                                                (if_arm
                                                                                  cond: [
                                                                                    (Sentence
                                                                                      child: 
                                                                                        (C {(test)} 
                                                                                          {(-n)} {(DQ ($ VSub_Name '$deplibrary_names'))}
                                                                                        )
                                                                                      terminator: 
                                                                                        <Op_Semi 
';'
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  action: [
                                                                                    (ForEach
                                                                                      iter_name: tmp
                                                                                      iter_words: [
                                                                                        {
                                                                                          ($ 
VSub_Name '$deplibrary_names'
                                                                                          )
                                                                                        }
                                                                                      ]
                                                                                      do_arg_iter: 
False
                                                                                      body: 
                                                                                        (DoGroup
                                                                                          children: [
                                                                                            (Assignment
                                                                                              keyword: 
Assign_None
                                                                                              pairs: [
                                                                                                (assign_pair
                                                                                                  lhs: 
                                                                                                    (LhsName
                                                                                                      name: 
depdepl
                                                                                                    )
                                                                                                  op: 
                                                                                                    Equal
                                                                                                  rhs: 
                                                                                                    {
                                                                                                      ($ 
VSub_Name '$tmp'
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
41550
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
41550
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
41547
41554
                                                                                          ]
                                                                                        )
                                                                                      spids: [
41543
41545
                                                                                      ]
                                                                                    )
                                                                                    (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: [
41575
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
41575
                                                                                              ]
                                                                                            )
                                                                                            (Assignment
                                                                                              keyword: 
Assign_None
                                                                                              pairs: [
                                                                                                (assign_pair
                                                                                                  lhs: 
                                                                                                    (LhsName
                                                                                                      name: 
darwin_install_name
                                                                                                    )
                                                                                                  op: 
                                                                                                    Equal
                                                                                                  rhs: 
                                                                                                    {
                                                                                                      (CommandSubPart
                                                                                                        command_list: 
                                                                                                          (CommandList
                                                                                                            children: [
                                                                                                              (Pipeline
                                                                                                                children: [
                                                                                                                  (C 
                                                                                                                    {
                                                                                                                      ($ 
VSub_Name '$OTOOL'
                                                                                                                      )
                                                                                                                    } {(-L)} {($ VSub_Name '$depdepl')}
                                                                                                                  )
                                                                                                                  (C 
                                                                                                                    {
                                                                                                                      (
awk
                                                                                                                      )
                                                                                                                    } {(SQ <'{if (NR == 2) {print $1;exit}}'>)}
                                                                                                                  )
                                                                                                                ]
                                                                                                                negated: 
False
                                                                                                              )
                                                                                                            ]
                                                                                                          )
                                                                                                        left_token: 
                                                                                                          <
Left_Backtick '`'
                                                                                                          >
                                                                                                        spids: [
41584
41598
                                                                                                        ]
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
41583
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
41583
                                                                                              ]
                                                                                            )
                                                                                            (If
                                                                                              arms: [
                                                                                                (if_arm
                                                                                                  cond: [
                                                                                                    (Sentence
                                                                                                      child: 
                                                                                                        (C 
                                                                                                          {
                                                                                                            (
test
                                                                                                            )
                                                                                                          } {(-z)} {(DQ ($ VSub_Name '$darwin_install_name'))}
                                                                                                        )
                                                                                                      terminator: 
                                                                                                        <
Op_Semi ';'
                                                                                                        >
                                                                                                    )
                                                                                                  ]
                                                                                                  action: [
                                                                                                    (Assignment
                                                                                                      keyword: 
Assign_None
                                                                                                      pairs: [
                                                                                                        (assign_pair
                                                                                                          lhs: 
                                                                                                            (LhsName
                                                                                                              name: 
darwin_install_name
                                                                                                            )
                                                                                                          op: 
                                                                                                            Equal
                                                                                                          rhs: 
                                                                                                            {
                                                                                                              (CommandSubPart
                                                                                                                command_list: 
                                                                                                                  (CommandList
                                                                                                                    children: [
                                                                                                                      (Pipeline
                                                                                                                        children: [
                                                                                                                          (C 
                                                                                                                            {
                                                                                                                              ($ 
VSub_Name '$OTOOL64'
                                                                                                                              )
                                                                                                                            } {(-L)} {($ VSub_Name '$depdepl')}
                                                                                                                          )
                                                                                                                          (C 
                                                                                                                            {
                                                                                                                              (
awk
                                                                                                                              )
                                                                                                                            } {(SQ <'{if (NR == 2) {print $1;exit}}'>)}
                                                                                                                          )
                                                                                                                        ]
                                                                                                                        negated: 
False
                                                                                                                      )
                                                                                                                    ]
                                                                                                                  )
                                                                                                                left_token: 
                                                                                                                  <
Left_Backtick '`'
                                                                                                                  >
                                                                                                                spids: [
41616
41630
                                                                                                                ]
                                                                                                              )
                                                                                                            }
                                                                                                          spids: [
41615
                                                                                                          ]
                                                                                                        )
                                                                                                      ]
                                                                                                      spids: [
41615
                                                                                                      ]
                                                                                                    )
                                                                                                  ]
                                                                                                  spids: [
-1
41612
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
-1
41633
                                                                                              ]
                                                                                            )
                                                                                            (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: {(SQ )}
                                                                                                  spids: [
41663
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
41663
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
-1
41572
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
-1
41666
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  spids: [-1 41535]
                                                                                )
                                                                              ]
                                                                              spids: [-1 41669]
                                                                            )
                                                                          ]
                                                                          spids: [41495 41500 41672 -1]
                                                                        )
                                                                        (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: [41679]
                                                                                )
                                                                              ]
                                                                              spids: [41679]
                                                                            )
                                                                          ]
                                                                          spids: [41675 41676 41686 -1]
                                                                        )
                                                                      ]
                                                                      spids: [41488 41492 41689]
                                                                    )
                                                                  ]
                                                                  spids: [-1 41485]
                                                                )
                                                              ]
                                                              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: [41698 41710]
                                                                    )
                                                                  }
                                                                )
                                                                (AndOr
                                                                  children: [
                                                                    (C {(test)} {(-z)} 
                                                                      {(DQ ($ VSub_Name '$libdir'))}
                                                                    )
                                                                    (C {(func_fatal_error)} 
                                                                      {
                                                                        (DQ ("'") 
                                                                          ($ VSub_Name '$deplib') ("' is not a valid libtool archive")
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  op_id: Op_DAmp
                                                                )
                                                                (AndOr
                                                                  children: [
                                                                    (C {(test)} 
                                                                      {(DQ ($ VSub_Name '$absdir'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$libdir'))}
                                                                    )
                                                                    (C {(func_warning)} 
                                                                      {
                                                                        (DQ ("'") 
                                                                          ($ VSub_Name '$deplib') ("' seems to be moved")
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  op_id: Op_DAmp
                                                                )
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:path)
                                                                      op: Equal
                                                                      rhs: 
                                                                        {(-L) 
                                                                          ($ VSub_Name '$absdir')
                                                                        }
                                                                      spids: [41761]
                                                                    )
                                                                  ]
                                                                  spids: [41761]
                                                                )
                                                              ]
                                                              spids: [41692 41766]
                                                            )
                                                          ]
                                                          spids: [41346 41348 41769 -1]
                                                        )
                                                      ]
                                                      spids: [41329 41333 41772]
                                                    )
                                                    (Case
                                                      to_match: 
                                                        {(DQ (' ') ($ VSub_Name '$deplibs') (' '))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other '*') 
                                                              (DQ (' ') ($ VSub_Name '$path') (' ')) (Lit_Other '*')
                                                            }
                                                          ]
                                                          spids: [41786 41793 41795 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:deplibs)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name '$path') (' ') 
                                                                        ($ VSub_Name '$deplibs')
                                                                      )
                                                                    }
                                                                  spids: [41801]
                                                                )
                                                              ]
                                                              spids: [41801]
                                                            )
                                                          ]
                                                          spids: [41798 41799 41808 -1]
                                                        )
                                                      ]
                                                      spids: [41775 41783 41811]
                                                    )
                                                  ]
                                                  spids: [41323 41814]
                                                )
                                              spids: [41319 41321]
                                            )
                                          ]
                                          spids: [-1 41307]
                                        )
                                      ]
                                      spids: [-1 41817]
                                    )
                                  ]
                                  spids: [-1 40943]
                                )
                              ]
                              spids: [-1 41823]
                            )
                          ]
                          spids: [34489 41829]
                        )
                      spids: [34485 34487]
                    )
                    (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: [41867]
                                        )
                                      ]
                                      spids: [41867]
                                    )
                                    (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: [41875]
                                        )
                                      ]
                                      spids: [41875]
                                    )
                                  ]
                                  spids: [-1 41864]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:compiler_flags)
                                      op: Equal
                                      rhs: 
                                        {(DQ ($ VSub_Name '$compiler_flags') (' ')) 
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (C {($ VSub_Name '$ECHO')} 
                                                        {
                                                          (DQ (' ') 
                                                            ($ VSub_Name 
'$new_inherited_linker_flags'
                                                            )
                                                          )
                                                        }
                                                      )
                                                      (C {($ VSub_Name '$SED')} 
                                                        {
                                                          (SQ 
                                                            <
's% \\([^ $]*\\).ltframework% -framework \\1%g'
                                                            >
                                                          )
                                                        }
                                                      )
                                                    ]
                                                    negated: False
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [41891 41906]
                                          )
                                        }
                                      spids: [41886]
                                    )
                                  ]
                                  spids: [41886]
                                )
                              ]
                              spids: [41883 41909]
                            )
                          ]
                          spids: [-1 41848]
                        )
                      ]
                      spids: [-1 41912]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dependency_libs)
                          op: Equal
                          rhs: {($ VSub_Name '$newdependency_libs')}
                          spids: [41915]
                        )
                      ]
                      spids: [41915]
                    )
                    (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: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:deplibs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$deplib') (' ') 
                                                ($ VSub_Name '$deplibs')
                                              )
                                            }
                                          spids: [41951]
                                        )
                                      ]
                                      spids: [41951]
                                    )
                                  ]
                                  spids: [41948 41959]
                                )
                              spids: [41944 41946]
                            )
                          ]
                          spids: [-1 41932]
                        )
                      ]
                      spids: [-1 41962]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(test)} {(dlopen)} {(KW_Bang '!') (Lit_Other '=')} 
                                  {(DQ ($ VSub_Name '$pass'))}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (AndOr
                              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: {(SQ )}
                                          spids: [42001]
                                        )
                                      ]
                                      spids: [42001]
                                    )
                                    (ForEach
                                      iter_name: dir
                                      iter_words: [{($ VSub_Name '$newlib_search_path')}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Case
                                              to_match: {(DQ ($ VSub_Name '$lib_search_path') (' '))}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other '*') 
                                                      (DQ (' ') ($ VSub_Name '$dir') (' ')) (Lit_Other '*')
                                                    }
                                                  ]
                                                  spids: [42026 42033 42035 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (C {(func_append)} {(lib_search_path)} 
                                                      {(DQ (' ') ($ VSub_Name '$dir'))}
                                                    )
                                                  ]
                                                  spids: [42038 42039 42050 -1]
                                                )
                                              ]
                                              spids: [42016 42023 42053]
                                            )
                                          ]
                                          spids: [42013 42056]
                                        )
                                      spids: [42009 42011]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:newlib_search_path)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [42059]
                                        )
                                      ]
                                      spids: [42059]
                                    )
                                  ]
                                  spids: [41994]
                                )
                              ]
                              op_id: Op_DPipe
                            )
                            (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: [42086]
                                        )
                                      ]
                                      spids: [42086]
                                    )
                                  ]
                                  spids: [-1 42083]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:vars)
                                      op: Equal
                                      rhs: {(deplibs)}
                                      spids: [42095]
                                    )
                                  ]
                                  spids: [42095]
                                )
                              ]
                              spids: [42092 42099]
                            )
                            (ForEach
                              iter_name: var
                              iter_words: [{($ VSub_Name '$vars')} {(dependency_libs)}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (C {(eval)} 
                                      {(Lit_VarLike 'tmp_libs=') 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\"'>
                                        ) (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: {(SQ )}
                                          spids: [42129]
                                        )
                                      ]
                                      spids: [42129]
                                    )
                                    (ForEach
                                      iter_name: deplib
                                      iter_words: [{($ VSub_Name '$tmp_libs')}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Case
                                              to_match: {($ VSub_Name '$deplib')}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(-L) (Lit_Other '*')}]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:new_libs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name '$deplib') (' ') 
                                                                ($ VSub_Name '$new_libs')
                                                              )
                                                            }
                                                          spids: [42179]
                                                        )
                                                      ]
                                                      spids: [42179]
                                                    )
                                                  ]
                                                  spids: [42175 42177 42186 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(-R) (Lit_Other '*')}]
                                                  spids: [42189 42191 42193 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (Case
                                                      to_match: 
                                                        {
                                                          (DQ (' ') ($ VSub_Name '$specialdeplibs') 
                                                            (' ')
                                                          )
                                                        }
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other '*') 
                                                              (DQ (' ') ($ VSub_Name '$deplib') (' ')) (Lit_Other '*')
                                                            }
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:new_libs)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      (DQ ($ VSub_Name '$deplib') 
                                                                        (' ') ($ VSub_Name '$new_libs')
                                                                      )
                                                                    }
                                                                  spids: [42276]
                                                                )
                                                              ]
                                                              spids: [42276]
                                                            )
                                                          ]
                                                          spids: [42267 42274 42283 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (Case
                                                              to_match: 
                                                                {
                                                                  (DQ (' ') ($ VSub_Name '$new_libs') 
                                                                    (' ')
                                                                  )
                                                                }
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other '*') 
                                                                      (DQ (' ') 
                                                                        ($ VSub_Name '$deplib') (' ')
                                                                      ) (Lit_Other '*')
                                                                    }
                                                                  ]
                                                                  spids: [42301 42308 42310 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(Lit_Other '*')}]
                                                                  action: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: new_libs
                                                                            )
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (DQ 
                                                                                ($ VSub_Name 
'$deplib'
                                                                                ) (' ') ($ VSub_Name '$new_libs')
                                                                              )
                                                                            }
                                                                          spids: [42316]
                                                                        )
                                                                      ]
                                                                      spids: [42316]
                                                                    )
                                                                  ]
                                                                  spids: [42313 42314 42323 -1]
                                                                )
                                                              ]
                                                              spids: [42290 42298 42326]
                                                            )
                                                          ]
                                                          spids: [42286 42287 42329 -1]
                                                        )
                                                      ]
                                                      spids: [42256 42264 42332]
                                                    )
                                                  ]
                                                  spids: [42196 42197 42335 -1]
                                                )
                                              ]
                                              spids: [42168 42172 42338]
                                            )
                                          ]
                                          spids: [42141 42341]
                                        )
                                      spids: [42137 42139]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_libs)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [42344]
                                        )
                                      ]
                                      spids: [42344]
                                    )
                                    (ForEach
                                      iter_name: deplib
                                      iter_words: [{($ VSub_Name '$new_libs')}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Case
                                              to_match: {($ VSub_Name '$deplib')}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(-L) (Lit_Other '*')}]
                                                  action: [
                                                    (Case
                                                      to_match: 
                                                        {(DQ (' ') ($ VSub_Name '$tmp_libs') (' '))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other '*') 
                                                              (DQ (' ') ($ VSub_Name '$deplib') (' ')) (Lit_Other '*')
                                                            }
                                                          ]
                                                          spids: [42382 42389 42391 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (C {(func_append)} {(tmp_libs)} 
                                                              {(DQ (' ') ($ VSub_Name '$deplib'))}
                                                            )
                                                          ]
                                                          spids: [42394 42395 42406 -1]
                                                        )
                                                      ]
                                                      spids: [42371 42379 42409]
                                                    )
                                                  ]
                                                  spids: [42366 42368 42412 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (C {(func_append)} {(tmp_libs)} 
                                                      {(DQ (' ') ($ VSub_Name '$deplib'))}
                                                    )
                                                  ]
                                                  spids: [42415 42416 42427 -1]
                                                )
                                              ]
                                              spids: [42359 42363 42430]
                                            )
                                          ]
                                          spids: [42356 42433]
                                        )
                                      spids: [42352 42354]
                                    )
                                    (C {(eval)} 
                                      {($ VSub_Name '$var') (Lit_Other '=') 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\"'>
                                        ) ($ VSub_Name '$tmp_libs') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                      }
                                    )
                                  ]
                                  spids: [42113 42445]
                                )
                              spids: [42107 42111]
                            )
                          ]
                          spids: [-1 41979]
                        )
                      ]
                      spids: [-1 42451]
                    )
                    (AndOr
                      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: [42493]
                                                          )
                                                        ]
                                                      )
                                                      (C {(sed)} {(5q)})
                                                    ]
                                                    negated: False
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [42488 42501]
                                          )
                                        }
                                      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: [-1 42535]
                                                )
                                              ]
                                              spids: [-1 42547]
                                            )
                                          ]
                                          spids: [42506 42511 42550 -1]
                                        )
                                      ]
                                      spids: [42486 42503 42553]
                                    )
                                  ]
                                  spids: [42481 42483 42556 -1]
                                )
                                (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: [-1 42607]
                                                )
                                              ]
                                              spids: [-1 42619]
                                            )
                                          ]
                                          spids: [42579 42586 42622 -1]
                                        )
                                      ]
                                      spids: [42572 42576 42625]
                                    )
                                  ]
                                  spids: [42560 42562 42628 -1]
                                )
                              ]
                              spids: [42474 42478 42631]
                            )
                          ]
                          spids: [42471]
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:tmp_libs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [42646]
                        )
                      ]
                      spids: [42646]
                    )
                    (ForEach
                      iter_name: i
                      iter_words: [{($ VSub_Name '$dependency_libs')}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Case
                              to_match: 
                                {
                                  (DQ (' ') ($ VSub_Name '$predeps') (' ') ($ VSub_Name '$postdeps') 
                                    (' ') ($ VSub_Name '$compiler_lib_search_path') (' ')
                                  )
                                }
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$i') (' ')) 
                                      (Lit_Other '*')
                                    }
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:i)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [42686]
                                        )
                                      ]
                                      spids: [42686]
                                    )
                                  ]
                                  spids: [42676 42683 42689 -1]
                                )
                              ]
                              spids: [42661 42673 42692]
                            )
                            (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: [-1 42706]
                                )
                              ]
                              spids: [-1 42719]
                            )
                          ]
                          spids: [42658 42722]
                        )
                      spids: [42654 42656]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dependency_libs)
                          op: Equal
                          rhs: {($ VSub_Name '$tmp_libs')}
                          spids: [42725]
                        )
                      ]
                      spids: [42725]
                    )
                  ]
                  spids: [34087 42729]
                )
              spids: [34083 34085]
            )
            (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: [42751]
                        )
                      ]
                      spids: [42751]
                    )
                  ]
                  spids: [-1 42748]
                )
              ]
              spids: [-1 42755]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (C {(test)} {(prog)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$linkmode'))})
                            (C {(test)} {(lib)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$linkmode'))})
                          ]
                          op_id: Op_DPipe
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dlprefiles)
                          op: Equal
                          rhs: {($ VSub_Name '$newdlprefiles')}
                          spids: [42786]
                        )
                      ]
                      spids: [42786]
                    )
                  ]
                  spids: [-1 42783]
                )
              ]
              spids: [-1 42790]
            )
            (Case
              to_match: {($ VSub_Name '$linkmode')}
              arms: [
                (case_arm
                  pat_list: [{(oldlib)}]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (C {(test)} {(-n)} 
                                      {(DQ ($ VSub_Name '$dlfiles') ($ VSub_Name '$dlprefiles'))}
                                    )
                                    (C {(test)} {(no)} {(KW_Bang '!') (Lit_Other '=')} 
                                      {(DQ ($ VSub_Name '$dlself'))}
                                    )
                                  ]
                                  op_id: Op_DPipe
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(func_warning)} {(DQ ("'-dlopen' is ignored for archives"))})]
                          spids: [-1 42830]
                        )
                      ]
                      spids: [-1 42840]
                    )
                    (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: [42854 42865 42874 -1]
                        )
                      ]
                      spids: [42844 42851 42877]
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$rpath'))})
                        (C {(func_warning)} {(DQ ("'-rpath' is ignored for archives"))})
                      ]
                      op_id: Op_DAmp
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$xrpath'))})
                        (C {(func_warning)} {(DQ ("'-R' is ignored for archives"))})
                      ]
                      op_id: Op_DAmp
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$vinfo'))})
                        (C {(func_warning)} 
                          {(DQ ("'-version-info/-version-number' is ignored for archives"))}
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$release'))})
                        (C {(func_warning)} {(DQ ("'-release' is ignored for archives"))})
                      ]
                      op_id: Op_DAmp
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(-n)} 
                          {
                            (DQ ($ VSub_Name '$export_symbols') ($ VSub_Name '$export_symbols_regex'))
                          }
                        )
                        (C {(func_warning)} {(DQ ("'-export-symbols' is ignored for archives"))})
                      ]
                      op_id: Op_DAmp
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:build_libtool_libs)
                          op: Equal
                          rhs: {(no)}
                          spids: [42986]
                        )
                      ]
                      spids: [42986]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:oldlibs)
                          op: Equal
                          rhs: {($ VSub_Name '$output')}
                          spids: [42990]
                        )
                      ]
                      spids: [42990]
                    )
                    (C {(func_append)} {(objs)} {(DQ ($ VSub_Name '$old_deplibs'))})
                  ]
                  spids: [42801 42802 43003 -1]
                )
                (case_arm
                  pat_list: [{(lib)}]
                  action: [
                    (Case
                      to_match: {($ VSub_Name '$outputname')}
                      arms: [
                        (case_arm
                          pat_list: [{(lib) (Lit_Other '*')}]
                          action: [
                            (C {(func_stripname)} {(SQ <lib>)} {(SQ <.la>)} 
                              {(DQ ($ VSub_Name '$outputname'))}
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:name)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_stripname_result')}
                                  spids: [43042]
                                )
                              ]
                              spids: [43042]
                            )
                            (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: [43022 43024 43062 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (AndOr
                              children: [
                                (C {(test)} {(no)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$module'))})
                                (C {(func_fatal_help)} 
                                  {
                                    (DQ ("libtool library '") ($ VSub_Name '$output') 
                                      ("' must begin with 'lib'")
                                    )
                                  }
                                )
                              ]
                              op_id: Op_DAmp
                            )
                            (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: [43128]
                                        )
                                      ]
                                      spids: [43128]
                                    )
                                    (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: [-1 43107]
                                )
                              ]
                              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: [43165]
                                    )
                                  ]
                                  spids: [43165]
                                )
                              ]
                              spids: [43148 43169]
                            )
                          ]
                          spids: [43065 43066 43172 -1]
                        )
                      ]
                      spids: [43015 43019 43175]
                    )
                    (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: [-1 43207]
                                )
                              ]
                              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: [43220 43254]
                            )
                          ]
                          spids: [-1 43190]
                        )
                      ]
                      spids: [-1 43257]
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(no)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$dlself'))})
                        (C {(func_warning)} {(DQ ("'-dlopen self' is ignored for libtool libraries"))})
                      ]
                      op_id: Op_DPipe
                    )
                    (C {(set)} {(dummy)} {($ VSub_Name '$rpath')})
                    (C {(shift)})
                    (AndOr
                      children: [
                        (C {(test)} {(1)} {(-lt)} {(DQ ($ VSub_Pound '$#'))})
                        (C {(func_warning)} {(DQ ("ignoring multiple '-rpath's for a libtool library"))})
                      ]
                      op_id: Op_DAmp
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:install_libdir)
                          op: Equal
                          rhs: {($ VSub_Number '$1')}
                          spids: [43315]
                        )
                      ]
                      spids: [43315]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:oldlibs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [43320]
                        )
                      ]
                      spids: [43320]
                    )
                    (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: [43369]
                                        )
                                      ]
                                      spids: [43369]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:build_libtool_libs)
                                          op: Equal
                                          rhs: {(convenience)}
                                          spids: [43381]
                                        )
                                      ]
                                      spids: [43381]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:build_old_libs)
                                          op: Equal
                                          rhs: {(yes)}
                                          spids: [43385]
                                        )
                                      ]
                                      spids: [43385]
                                    )
                                  ]
                                  spids: [-1 43350]
                                )
                              ]
                              spids: [-1 43389]
                            )
                            (AndOr
                              children: [
                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$vinfo'))})
                                (C {(func_warning)} 
                                  {
                                    (DQ 
                                      (
"'-version-info/-version-number' is ignored for convenience libraries"
                                      )
                                    )
                                  }
                                )
                              ]
                              op_id: Op_DAmp
                            )
                            (AndOr
                              children: [
                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$release'))})
                                (C {(func_warning)} 
                                  {(DQ ("'-release' is ignored for convenience libraries"))}
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          spids: [-1 43334]
                        )
                      ]
                      else_action: [
                        (Sentence
                          child: 
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:save_ifs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$IFS')}
                                  spids: [43440]
                                )
                              ]
                              spids: [43440]
                            )
                          terminator: <Op_Semi ';'>
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:IFS)
                              op: Equal
                              rhs: {(Lit_Other ':')}
                              spids: [43444]
                            )
                          ]
                          spids: [43444]
                        )
                        (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: [43464]
                            )
                          ]
                          spids: [43464]
                        )
                        (AndOr
                          children: [
                            (C {(test)} {(-n)} {(DQ ($ VSub_Number '$7'))})
                            (C {(func_fatal_help)} {(DQ ("too many parameters to '-version-info'"))})
                          ]
                          op_id: Op_DAmp
                        )
                        (Case
                          to_match: {($ VSub_Name '$vinfo_number')}
                          arms: [
                            (case_arm
                              pat_list: [{(yes)}]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:number_major)
                                      op: Equal
                                      rhs: {($ VSub_Number '$1')}
                                      spids: [43513]
                                    )
                                  ]
                                  spids: [43513]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:number_minor)
                                      op: Equal
                                      rhs: {($ VSub_Number '$2')}
                                      spids: [43517]
                                    )
                                  ]
                                  spids: [43517]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:number_revision)
                                      op: Equal
                                      rhs: {($ VSub_Number '$3')}
                                      spids: [43521]
                                    )
                                  ]
                                  spids: [43521]
                                )
                                (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: [43587]
                                            )
                                          ]
                                          spids: [43587]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:age)
                                              op: Equal
                                              rhs: {($ VSub_Name '$number_minor')}
                                              spids: [43591]
                                            )
                                          ]
                                          spids: [43591]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:revision)
                                              op: Equal
                                              rhs: {($ VSub_Name '$number_revision')}
                                              spids: [43595]
                                            )
                                          ]
                                          spids: [43595]
                                        )
                                      ]
                                      spids: [43564 43575 43599 -1]
                                    )
                                    (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: [43610]
                                            )
                                          ]
                                          spids: [43610]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:revision)
                                              op: Equal
                                              rhs: {($ VSub_Name '$number_minor')}
                                              spids: [43614]
                                            )
                                          ]
                                          spids: [43614]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:age)
                                              op: Equal
                                              rhs: {(0)}
                                              spids: [43618]
                                            )
                                          ]
                                          spids: [43618]
                                        )
                                      ]
                                      spids: [43602 43607 43622 -1]
                                    )
                                    (case_arm
                                      pat_list: [{(irix)} {(nonstopux)}]
                                      action: [
                                        (C {(func_arith)} {($ VSub_Name '$number_major')} 
                                          {(Lit_Other '+')} {($ VSub_Name '$number_minor')}
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:current)
                                              op: Equal
                                              rhs: {($ VSub_Name '$func_arith_result')}
                                              spids: [43640]
                                            )
                                          ]
                                          spids: [43640]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:age)
                                              op: Equal
                                              rhs: {($ VSub_Name '$number_minor')}
                                              spids: [43644]
                                            )
                                          ]
                                          spids: [43644]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:revision)
                                              op: Equal
                                              rhs: {($ VSub_Name '$number_minor')}
                                              spids: [43648]
                                            )
                                          ]
                                          spids: [43648]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:lt_irix_increment)
                                              op: Equal
                                              rhs: {(no)}
                                              spids: [43652]
                                            )
                                          ]
                                          spids: [43652]
                                        )
                                      ]
                                      spids: [43625 43628 43656 -1]
                                    )
                                    (case_arm
                                      pat_list: [{(Lit_Other '*')}]
                                      action: [
                                        (C {(func_fatal_configuration)} 
                                          {
                                            (DQ ($ VSub_Name '$modename') 
                                              (": unknown library version type '") ($ VSub_Name '$version_type') ("'")
                                            )
                                          }
                                        )
                                      ]
                                      spids: [43659 43660 43673 -1]
                                    )
                                  ]
                                  spids: [43553 43557 43676]
                                )
                              ]
                              spids: [43509 43510 43679 -1]
                            )
                            (case_arm
                              pat_list: [{(no)}]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:current)
                                      op: Equal
                                      rhs: {($ VSub_Number '$1')}
                                      spids: [43686]
                                    )
                                  ]
                                  spids: [43686]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:revision)
                                      op: Equal
                                      rhs: {($ VSub_Number '$2')}
                                      spids: [43690]
                                    )
                                  ]
                                  spids: [43690]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:age)
                                      op: Equal
                                      rhs: {($ VSub_Number '$3')}
                                      spids: [43694]
                                    )
                                  ]
                                  spids: [43694]
                                )
                              ]
                              spids: [43682 43683 43698 -1]
                            )
                          ]
                          spids: [43502 43506 43701]
                        )
                        (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: [43716 43767 43769 -1]
                            )
                            (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: [43772 43773 43794 -1]
                            )
                          ]
                          spids: [43709 43713 43797]
                        )
                        (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: [43808 43859 43861 -1]
                            )
                            (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: [43864 43865 43886 -1]
                            )
                          ]
                          spids: [43801 43805 43889]
                        )
                        (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: [43900 43951 43953 -1]
                            )
                            (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: [43956 43957 43978 -1]
                            )
                          ]
                          spids: [43893 43897 43981]
                        )
                        (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: [-1 44000]
                            )
                          ]
                          spids: [-1 44023]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:major)
                              op: Equal
                              rhs: {(SQ )}
                              spids: [44031]
                            )
                          ]
                          spids: [44031]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:versuffix)
                              op: Equal
                              rhs: {(SQ )}
                              spids: [44034]
                            )
                          ]
                          spids: [44034]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:verstring)
                              op: Equal
                              rhs: {(SQ )}
                              spids: [44037]
                            )
                          ]
                          spids: [44037]
                        )
                        (Case
                          to_match: {($ VSub_Name '$version_type')}
                          arms: [
                            (case_arm
                              pat_list: [{(none)}]
                              spids: [44047 44048 44050 -1]
                            )
                            (case_arm
                              pat_list: [{(darwin)}]
                              action: [
                                (C {(func_arith)} {($ VSub_Name '$current')} {(-)} {($ VSub_Name '$age')})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {(.) ($ VSub_Name '$func_arith_result')}
                                      spids: [44075]
                                    )
                                  ]
                                  spids: [44075]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: 
                                        {($ VSub_Name '$major') (.) ($ VSub_Name '$age') (.) 
                                          ($ VSub_Name '$revision')
                                        }
                                      spids: [44080]
                                    )
                                  ]
                                  spids: [44080]
                                )
                                (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: [44101]
                                    )
                                  ]
                                  spids: [44101]
                                )
                                (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: [44105]
                                    )
                                  ]
                                  spids: [44105]
                                )
                                (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: [44121]
                                    )
                                  ]
                                  spids: [44121]
                                )
                                (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: [44148]
                                            )
                                          ]
                                          spids: [44148]
                                        )
                                      ]
                                      spids: [44143 44145 44164 -1]
                                    )
                                    (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: [44171]
                                            )
                                          ]
                                          spids: [44171]
                                        )
                                      ]
                                      spids: [44167 44168 44182 -1]
                                    )
                                  ]
                                  spids: [44136 44140 44185]
                                )
                              ]
                              spids: [44054 44055 44188 -1]
                            )
                            (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: [44196]
                                    )
                                  ]
                                  spids: [44196]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: 
                                        {(.) ($ VSub_Name '$current') (.) ($ VSub_Name '$revision')}
                                      spids: [44201]
                                    )
                                  ]
                                  spids: [44201]
                                )
                              ]
                              spids: [44192 44193 44208 -1]
                            )
                            (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: [44225]
                                    )
                                  ]
                                  spids: [44225]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: 
                                        {($ VSub_Name '$major') (.) ($ VSub_Name '$age') (.) 
                                          ($ VSub_Name '$revision')
                                        }
                                      spids: [44230]
                                    )
                                  ]
                                  spids: [44230]
                                )
                              ]
                              spids: [44212 44213 44238 -1]
                            )
                            (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: [-1 44263]
                                    )
                                  ]
                                  else_action: [
                                    (C {(func_arith)} {($ VSub_Name '$current')} {(-)} 
                                      {($ VSub_Name '$age')} {(Lit_Other '+')} {(1)}
                                    )
                                  ]
                                  spids: [44275 44291]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {($ VSub_Name '$func_arith_result')}
                                      spids: [44294]
                                    )
                                  ]
                                  spids: [44294]
                                )
                                (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: [44309]
                                            )
                                          ]
                                          spids: [44309]
                                        )
                                      ]
                                      spids: [44306 44307 44312 -1]
                                    )
                                    (case_arm
                                      pat_list: [{(Lit_Other '*')}]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:verstring_prefix)
                                              op: Equal
                                              rhs: {(sgi)}
                                              spids: [44318]
                                            )
                                          ]
                                          spids: [44318]
                                        )
                                      ]
                                      spids: [44315 44316 44321 -1]
                                    )
                                  ]
                                  spids: [44299 44303 44324]
                                )
                                (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: [44327]
                                    )
                                  ]
                                  spids: [44327]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:loop)
                                      op: Equal
                                      rhs: {($ VSub_Name '$revision')}
                                      spids: [44339]
                                    )
                                  ]
                                  spids: [44339]
                                )
                                (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: [44368]
                                            )
                                          ]
                                          spids: [44368]
                                        )
                                        (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: [44381]
                                            )
                                          ]
                                          spids: [44381]
                                        )
                                        (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: [44385]
                                            )
                                          ]
                                          spids: [44385]
                                        )
                                      ]
                                      spids: [44356 44394]
                                    )
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {(.) ($ VSub_Name '$major')}
                                      spids: [44402]
                                    )
                                  ]
                                  spids: [44402]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {($ VSub_Name '$major') (.) ($ VSub_Name '$revision')}
                                      spids: [44407]
                                    )
                                  ]
                                  spids: [44407]
                                )
                              ]
                              spids: [44242 44247 44413 -1]
                            )
                            (case_arm
                              pat_list: [{(linux)}]
                              action: [
                                (C {(func_arith)} {($ VSub_Name '$current')} {(-)} {($ VSub_Name '$age')})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {(.) ($ VSub_Name '$func_arith_result')}
                                      spids: [44433]
                                    )
                                  ]
                                  spids: [44433]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: 
                                        {($ VSub_Name '$major') (.) ($ VSub_Name '$age') (.) 
                                          ($ VSub_Name '$revision')
                                        }
                                      spids: [44438]
                                    )
                                  ]
                                  spids: [44438]
                                )
                              ]
                              spids: [44417 44418 44446 -1]
                            )
                            (case_arm
                              pat_list: [{(osf)}]
                              action: [
                                (C {(func_arith)} {($ VSub_Name '$current')} {(-)} {($ VSub_Name '$age')})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {(.) ($ VSub_Name '$func_arith_result')}
                                      spids: [44463]
                                    )
                                  ]
                                  spids: [44463]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: 
                                        {(.) ($ VSub_Name '$current') (.) ($ VSub_Name '$age') (.) 
                                          ($ VSub_Name '$revision')
                                        }
                                      spids: [44468]
                                    )
                                  ]
                                  spids: [44468]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:verstring)
                                      op: Equal
                                      rhs: 
                                        {($ VSub_Name '$current') (.) ($ VSub_Name '$age') (.) 
                                          ($ VSub_Name '$revision')
                                        }
                                      spids: [44477]
                                    )
                                  ]
                                  spids: [44477]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:loop)
                                      op: Equal
                                      rhs: {($ VSub_Name '$age')}
                                      spids: [44490]
                                    )
                                  ]
                                  spids: [44490]
                                )
                                (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: [44519]
                                            )
                                          ]
                                          spids: [44519]
                                        )
                                        (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: [44532]
                                            )
                                          ]
                                          spids: [44532]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:verstring)
                                              op: Equal
                                              rhs: 
                                                {($ VSub_Name '$verstring') (Lit_Other ':') 
                                                  ($ VSub_Name '$iface') (.0)
                                                }
                                              spids: [44536]
                                            )
                                          ]
                                          spids: [44536]
                                        )
                                      ]
                                      spids: [44507 44543]
                                    )
                                )
                                (C {(func_append)} {(verstring)} 
                                  {(DQ (':') ($ VSub_Name '$current') (.0))}
                                )
                              ]
                              spids: [44450 44451 44562 -1]
                            )
                            (case_arm
                              pat_list: [{(qnx)}]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {(.) ($ VSub_Name '$current')}
                                      spids: [44570]
                                    )
                                  ]
                                  spids: [44570]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {(.) ($ VSub_Name '$current')}
                                      spids: [44575]
                                    )
                                  ]
                                  spids: [44575]
                                )
                              ]
                              spids: [44566 44567 44580 -1]
                            )
                            (case_arm
                              pat_list: [{(sco)}]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {(.) ($ VSub_Name '$current')}
                                      spids: [44588]
                                    )
                                  ]
                                  spids: [44588]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {(.) ($ VSub_Name '$current')}
                                      spids: [44593]
                                    )
                                  ]
                                  spids: [44593]
                                )
                              ]
                              spids: [44584 44585 44598 -1]
                            )
                            (case_arm
                              pat_list: [{(sunos)}]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {(.) ($ VSub_Name '$current')}
                                      spids: [44606]
                                    )
                                  ]
                                  spids: [44606]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: 
                                        {(.) ($ VSub_Name '$current') (.) ($ VSub_Name '$revision')}
                                      spids: [44611]
                                    )
                                  ]
                                  spids: [44611]
                                )
                              ]
                              spids: [44602 44603 44618 -1]
                            )
                            (case_arm
                              pat_list: [{(windows)}]
                              action: [
                                (C {(func_arith)} {($ VSub_Name '$current')} {(-)} {($ VSub_Name '$age')})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {($ VSub_Name '$func_arith_result')}
                                      spids: [44643]
                                    )
                                  ]
                                  spids: [44643]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {(-) ($ VSub_Name '$major')}
                                      spids: [44647]
                                    )
                                  ]
                                  spids: [44647]
                                )
                              ]
                              spids: [44622 44623 44652 -1]
                            )
                            (case_arm
                              pat_list: [{(Lit_Other '*')}]
                              action: [
                                (C {(func_fatal_configuration)} 
                                  {
                                    (DQ ("unknown library version type '") 
                                      ($ VSub_Name '$version_type') ("'")
                                    )
                                  }
                                )
                              ]
                              spids: [44656 44657 44669 -1]
                            )
                          ]
                          spids: [44040 44044 44672]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (AndOr
                                      children: [
                                        (C {(test)} {(-z)} {(DQ ($ VSub_Name '$vinfo'))})
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$release'))})
                                      ]
                                      op_id: Op_DAmp
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {(SQ )}
                                      spids: [44704]
                                    )
                                  ]
                                  spids: [44704]
                                )
                                (Case
                                  to_match: {($ VSub_Name '$version_type')}
                                  arms: [
                                    (case_arm
                                      pat_list: [{(darwin)}]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:verstring)
                                              op: Equal
                                              rhs: {(SQ )}
                                              spids: [44726]
                                            )
                                          ]
                                          spids: [44726]
                                        )
                                      ]
                                      spids: [44714 44715 44729 -1]
                                    )
                                    (case_arm
                                      pat_list: [{(Lit_Other '*')}]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:verstring)
                                              op: Equal
                                              rhs: {(0.0)}
                                              spids: [44736]
                                            )
                                          ]
                                          spids: [44736]
                                        )
                                      ]
                                      spids: [44732 44733 44740 -1]
                                    )
                                  ]
                                  spids: [44707 44711 44743]
                                )
                                (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: {(SQ )}
                                              spids: [44762]
                                            )
                                          ]
                                          spids: [44762]
                                        )
                                      ]
                                      spids: [-1 44759]
                                    )
                                  ]
                                  else_action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:versuffix)
                                          op: Equal
                                          rhs: {(.0.0)}
                                          spids: [44768]
                                        )
                                      ]
                                      spids: [44768]
                                    )
                                  ]
                                  spids: [44765 44772]
                                )
                              ]
                              spids: [-1 44701]
                            )
                          ]
                          spids: [-1 44775]
                        )
                        (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: {(SQ )}
                                      spids: [44803]
                                    )
                                  ]
                                  spids: [44803]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {(SQ )}
                                      spids: [44806]
                                    )
                                  ]
                                  spids: [44806]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:verstring)
                                      op: Equal
                                      rhs: {(SQ )}
                                      spids: [44809]
                                    )
                                  ]
                                  spids: [44809]
                                )
                              ]
                              spids: [-1 44800]
                            )
                          ]
                          spids: [-1 44812]
                        )
                        (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: [44877]
                                                    )
                                                  ]
                                                  spids: [44877]
                                                )
                                              ]
                                              spids: [-1 44865]
                                            )
                                          ]
                                          else_action: [
                                            (C {(func_fatal_error)} 
                                              {
                                                (DQ ("can't build ") ($ VSub_Name '$host') 
                                                  (
' shared library unless -no-undefined is specified'
                                                  )
                                                )
                                              }
                                            )
                                          ]
                                          spids: [44881 44893]
                                        )
                                      ]
                                      spids: [-1 44849]
                                    )
                                  ]
                                  spids: [-1 44896]
                                )
                              ]
                              spids: [-1 44833]
                            )
                          ]
                          else_action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:allow_undefined_flag)
                                  op: Equal
                                  rhs: {($ VSub_Name '$no_undefined_flag')}
                                  spids: [44906]
                                )
                              ]
                              spids: [44906]
                            )
                          ]
                          spids: [44899 44910]
                        )
                      ]
                      spids: [43432 44914]
                    )
                    (C {(func_generate_dlsyms)} {(DQ ($ VSub_Name '$libname'))} 
                      {(DQ ($ VSub_Name '$libname'))} {(Lit_Other ':')}
                    )
                    (C {(func_append)} {(libobjs)} {(DQ (' ') ($ VSub_Name '$symfileobj'))})
                    (AndOr
                      children: [
                        (C {(test)} {(DQ (' '))} {(Lit_Other '=')} {(DQ ($ VSub_Name '$libobjs'))})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:libobjs)
                              op: Equal
                              rhs: {(SQ )}
                              spids: [44955]
                            )
                          ]
                          spids: [44955]
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (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: {(SQ )}
                                  spids: [44984]
                                )
                              ]
                              spids: [44984]
                            )
                            (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: [44988 44995]
                                      )
                                    }
                                  spids: [44987]
                                )
                              ]
                              spids: [44987]
                            )
                            (ForEach
                              iter_name: p
                              iter_words: [{($ VSub_Name '$tempremovelist')}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Case
                                      to_match: {($ VSub_Name '$p')}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (.) ($ VSub_Name '$objext')}
                                            {(Lit_Other '*') (.gcno)}
                                          ]
                                          spids: [45017 45025 45028 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {($ VSub_Name '$output_objdir') (/) 
                                              ($ VSub_Name '$outputname')
                                            }
                                            {($ VSub_Name '$output_objdir') (/) 
                                              ($ VSub_Name '$libname') (.) (Lit_Other '*')
                                            }
                                            {($ VSub_Name '$output_objdir') (/) 
                                              ($ VSub_Name '$libname') ($ VSub_Name '$release') (.) (Lit_Other '*')
                                            }
                                          ]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-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: -1
                                                                      arg_word: {(/dev/null)}
                                                                      spids: [45086]
                                                                    )
                                                                    (Redir
                                                                      op_id: Redir_GreatAnd
                                                                      fd: 2
                                                                      arg_word: {(1)}
                                                                      spids: [45089]
                                                                    )
                                                                  ]
                                                                )
                                                              ]
                                                              negated: False
                                                            )
                                                          ]
                                                          action: [
                                                            (ControlFlow
                                                              token: <ControlFlow_Continue continue>
                                                            )
                                                          ]
                                                          spids: [-1 45093]
                                                        )
                                                      ]
                                                      spids: [-1 45099]
                                                    )
                                                  ]
                                                  spids: [-1 45065]
                                                )
                                              ]
                                              spids: [-1 45102]
                                            )
                                            (C {(func_append)} {(removelist)} 
                                              {(DQ (' ') ($ VSub_Name '$p'))}
                                            )
                                          ]
                                          spids: [45031 45051 45115 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          spids: [45118 45119 45121 -1]
                                        )
                                      ]
                                      spids: [45010 45014 45124]
                                    )
                                  ]
                                  spids: [45007 45127]
                                )
                              spids: [45003 45005]
                            )
                            (AndOr
                              children: [
                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$removelist'))})
                                (C {(func_show_eval)} 
                                  {
                                    (DQ (${ VSub_Name RM) ('r ') 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar '\\$'>
                                      ) (removelist)
                                    )
                                  }
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          spids: [-1 44973]
                        )
                      ]
                      spids: [-1 45154]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  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'))}
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                              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 (/) 
                                                        (EscapedLiteralPart
                                                          token: <Lit_EscapedChar '\\.'>
                                                        ) ($ VSub_Name '$libext') (Lit_Other '$') ('/d; ') ($ VSub_Name '$lo2o')
                                                      )
                                                    }
                                                  )
                                                  (C {($ VSub_Name '$NL2SP')})
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [45215 45242]
                                      )
                                    }
                                  spids: [45210]
                                )
                              ]
                              spids: [45210]
                            )
                          ]
                          spids: [-1 45188]
                        )
                      ]
                      spids: [-1 45245]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$xrpath'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:temp_xrpath)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [45292]
                                )
                              ]
                              spids: [45292]
                            )
                            (ForEach
                              iter_name: libdir
                              iter_words: [{($ VSub_Name '$xrpath')}]
                              do_arg_iter: False
                              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: [45334 45341 45343 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_append)} {(finalize_rpath)} 
                                              {(DQ (' ') ($ VSub_Name '$libdir'))}
                                            )
                                          ]
                                          spids: [45346 45347 45358 -1]
                                        )
                                      ]
                                      spids: [45324 45331 45361]
                                    )
                                  ]
                                  spids: [45304 45364]
                                )
                              spids: [45300 45302]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          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'))}
                                            )
                                          ]
                                          op_id: Op_DPipe
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dependency_libs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name '$temp_xrpath') (' ') 
                                                ($ VSub_Name '$dependency_libs')
                                              )
                                            }
                                          spids: [45396]
                                        )
                                      ]
                                      spids: [45396]
                                    )
                                  ]
                                  spids: [-1 45393]
                                )
                              ]
                              spids: [-1 45404]
                            )
                          ]
                          spids: [-1 45285]
                        )
                      ]
                      spids: [-1 45407]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:old_dlfiles)
                          op: Equal
                          rhs: {($ VSub_Name '$dlfiles')}
                          spids: [45415]
                        )
                      ]
                      spids: [45415]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dlfiles)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [45419]
                        )
                      ]
                      spids: [45419]
                    )
                    (ForEach
                      iter_name: lib
                      iter_words: [{($ VSub_Name '$old_dlfiles')}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Case
                              to_match: 
                                {
                                  (DQ (' ') ($ VSub_Name '$dlprefiles') (' ') ($ VSub_Name '$dlfiles') 
                                    (' ')
                                  )
                                }
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$lib') (' ')) 
                                      (Lit_Other '*')
                                    }
                                  ]
                                  spids: [45447 45454 45456 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(func_append)} {(dlfiles)} {(DQ (' ') ($ VSub_Name '$lib'))})
                                  ]
                                  spids: [45459 45460 45471 -1]
                                )
                              ]
                              spids: [45434 45444 45474]
                            )
                          ]
                          spids: [45431 45477]
                        )
                      spids: [45427 45429]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:old_dlprefiles)
                          op: Equal
                          rhs: {($ VSub_Name '$dlprefiles')}
                          spids: [45485]
                        )
                      ]
                      spids: [45485]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dlprefiles)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [45489]
                        )
                      ]
                      spids: [45489]
                    )
                    (ForEach
                      iter_name: lib
                      iter_words: [{($ VSub_Name '$old_dlprefiles')}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Case
                              to_match: {(DQ ($ VSub_Name '$dlprefiles') (' '))}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$lib') (' ')) 
                                      (Lit_Other '*')
                                    }
                                  ]
                                  spids: [45514 45521 45523 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(func_append)} {(dlprefiles)} {(DQ (' ') ($ VSub_Name '$lib'))})
                                  ]
                                  spids: [45526 45527 45538 -1]
                                )
                              ]
                              spids: [45504 45511 45541]
                            )
                          ]
                          spids: [45501 45544]
                        )
                      spids: [45497 45499]
                    )
                    (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: [45585 45636 45643 -1]
                                        )
                                        (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: [45646 45661 45677 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-netbsd) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [45680 45685 45692 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-openbsd) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-freebsd) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-dragonfly) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [45695 45716 45723 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-sco3.2v5) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-sco5v6) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [45726 45739 45746 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-sysv4.2uw2) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-sysv5) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-unixware) 
                                              (Lit_Other '*')
                                            }
                                            {(Lit_Other '*') (-) (Lit_Other '*') (-OpenUNIX) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [45749 45778 45785 -1]
                                        )
                                        (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: [-1 45809]
                                                )
                                              ]
                                              spids: [-1 45821]
                                            )
                                          ]
                                          spids: [45788 45789 45824 -1]
                                        )
                                      ]
                                      spids: [45578 45582 45827]
                                    )
                                  ]
                                  spids: [-1 45575]
                                )
                              ]
                              spids: [-1 45830]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:name_save)
                                  op: Equal
                                  rhs: {($ VSub_Name '$name')}
                                  spids: [45838]
                                )
                              ]
                              spids: [45838]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libname_save)
                                  op: Equal
                                  rhs: {($ VSub_Name '$libname')}
                                  spids: [45842]
                                )
                              ]
                              spids: [45842]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:release_save)
                                  op: Equal
                                  rhs: {($ VSub_Name '$release')}
                                  spids: [45846]
                                )
                              ]
                              spids: [45846]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:versuffix_save)
                                  op: Equal
                                  rhs: {($ VSub_Name '$versuffix')}
                                  spids: [45850]
                                )
                              ]
                              spids: [45850]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:major_save)
                                  op: Equal
                                  rhs: {($ VSub_Name '$major')}
                                  spids: [45854]
                                )
                              ]
                              spids: [45854]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:release)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [45870]
                                )
                              ]
                              spids: [45870]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:versuffix)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [45873]
                                )
                              ]
                              spids: [45873]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:major)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [45876]
                                )
                              ]
                              spids: [45876]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:newdeplibs)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [45879]
                                )
                              ]
                              spids: [45879]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:droppeddeps)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [45882]
                                )
                              ]
                              spids: [45882]
                            )
                            (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: [45917]
                                        )
                                      ]
                                      spids: [45917]
                                    )
                                  ]
                                  spids: [45893 45894 45921 -1]
                                )
                                (case_arm
                                  pat_list: [{(test_compile)}]
                                  action: [
                                    (AndOr
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (C {($ VSub_Name '$RM')} {(conftest.c)})
                                      ]
                                      op_id: Op_DPipe
                                    )
                                    (SimpleCommand
                                      words: [{(cat)}]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_Great
                                          fd: -1
                                          arg_word: {(conftest.c)}
                                          spids: [45955]
                                        )
                                        (HereDoc
                                          op_id: Redir_DLess
                                          fd: -1
                                          body: {(DQ ('\t  int main() { return 0; }\n'))}
                                          do_expansion: True
                                          here_end: EOF
                                          was_filled: True
                                          spids: [45959]
                                        )
                                      ]
                                    )
                                    (AndOr
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (C {($ VSub_Name '$RM')} {(conftest)})
                                      ]
                                      op_id: Op_DPipe
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {($ VSub_Name '$LTCC')} {($ VSub_Name '$LTCFLAGS')} 
                                                  {(-o)} {(conftest)} {(conftest.c)} {($ VSub_Name '$deplibs')}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:ldd_output)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [(C {(ldd)} {(conftest)})]
                                                          )
                                                        left_token: <Left_Backtick '`'>
                                                        spids: [45993 45997]
                                                      )
                                                    }
                                                  spids: [45992]
                                                )
                                              ]
                                              spids: [45992]
                                            )
                                            (ForEach
                                              iter_name: i
                                              iter_words: [{($ VSub_Name '$deplibs')}]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Case
                                                      to_match: {($ VSub_Name '$i')}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(-l) (Lit_Other '*')}]
                                                          action: [
                                                            (C {(func_stripname)} {(-l)} {(SQ )} 
                                                              {(DQ ($ VSub_Name '$i'))}
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:name)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      ($ VSub_Name 
'$func_stripname_result'
                                                                      )
                                                                    }
                                                                  spids: [46036]
                                                                )
                                                              ]
                                                              spids: [46036]
                                                            )
                                                            (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: {(SQ )}
                                                                                  spids: [46089]
                                                                                )
                                                                              ]
                                                                              spids: [46089]
                                                                            )
                                                                          ]
                                                                          spids: [46069 46076 46092 -1]
                                                                        )
                                                                      ]
                                                                      spids: [46056 46066 46095]
                                                                    )
                                                                  ]
                                                                  spids: [-1 46053]
                                                                )
                                                              ]
                                                              spids: [-1 46098]
                                                            )
                                                            (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: [46116 46127]
                                                                              )
                                                                            }
                                                                          spids: [46115]
                                                                        )
                                                                      ]
                                                                      spids: [46115]
                                                                    )
                                                                    (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: [46131 46142]
                                                                              )
                                                                            }
                                                                          spids: [46130]
                                                                        )
                                                                      ]
                                                                      spids: [46130]
                                                                    )
                                                                    (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: [46155]
                                                                        )
                                                                      ]
                                                                      spids: [46155]
                                                                    )
                                                                    (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: [
46163
46176
                                                                                      ]
                                                                                    )
                                                                                  } {(-ne)} {(0)}
                                                                                )
                                                                              terminator: 
                                                                                <Op_Semi ';'>
                                                                            )
                                                                          ]
                                                                          action: [
                                                                            (C {(func_append)} 
                                                                              {(newdeplibs)} {(DQ (' ') ($ VSub_Name '$i'))}
                                                                            )
                                                                          ]
                                                                          spids: [-1 46183]
                                                                        )
                                                                      ]
                                                                      else_action: [
                                                                        (Assignment
                                                                          keyword: Assign_None
                                                                          pairs: [
                                                                            (assign_pair
                                                                              lhs: 
                                                                                (LhsName
                                                                                  name: droppeddeps
                                                                                )
                                                                              op: Equal
                                                                              rhs: {(yes)}
                                                                              spids: [46199]
                                                                            )
                                                                          ]
                                                                          spids: [46199]
                                                                        )
                                                                        (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: [46196 46250]
                                                                    )
                                                                  ]
                                                                  spids: [-1 46112]
                                                                )
                                                              ]
                                                              spids: [-1 46253]
                                                            )
                                                          ]
                                                          spids: [46019 46021 46256 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (C {(func_append)} {(newdeplibs)} 
                                                              {(DQ (' ') ($ VSub_Name '$i'))}
                                                            )
                                                          ]
                                                          spids: [46259 46260 46273 -1]
                                                        )
                                                      ]
                                                      spids: [46012 46016 46276]
                                                    )
                                                  ]
                                                  spids: [46009 46279]
                                                )
                                              spids: [46005 46007]
                                            )
                                          ]
                                          spids: [-1 45989]
                                        )
                                      ]
                                      else_action: [
                                        (ForEach
                                          iter_name: i
                                          iter_words: [{($ VSub_Name '$deplibs')}]
                                          do_arg_iter: False
                                          body: 
                                            (DoGroup
                                              children: [
                                                (Case
                                                  to_match: {($ VSub_Name '$i')}
                                                  arms: [
                                                    (case_arm
                                                      pat_list: [{(-l) (Lit_Other '*')}]
                                                      action: [
                                                        (C {(func_stripname)} {(-l)} {(SQ )} 
                                                          {(DQ ($ VSub_Name '$i'))}
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:name)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  ($ VSub_Name 
'$func_stripname_result'
                                                                  )
                                                                }
                                                              spids: [46329]
                                                            )
                                                          ]
                                                          spids: [46329]
                                                        )
                                                        (AndOr
                                                          children: [
                                                            (C {($ VSub_Name '$opt_dry_run')})
                                                            (C {($ VSub_Name '$RM')} {(conftest)})
                                                          ]
                                                          op_id: Op_DPipe
                                                        )
                                                        (If
                                                          arms: [
                                                            (if_arm
                                                              cond: [
                                                                (Sentence
                                                                  child: 
                                                                    (C {($ VSub_Name '$LTCC')} 
                                                                      {($ VSub_Name '$LTCFLAGS')} {(-o)} {(conftest)} {(conftest.c)} {($ VSub_Name '$i')}
                                                                    )
                                                                  terminator: <Op_Semi ';'>
                                                                )
                                                              ]
                                                              action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:ldd_output)
                                                                      op: Equal
                                                                      rhs: 
                                                                        {
                                                                          (CommandSubPart
                                                                            command_list: 
                                                                              (CommandList
                                                                                children: [
                                                                                  (C {(ldd)} 
                                                                                    {(conftest)}
                                                                                  )
                                                                                ]
                                                                              )
                                                                            left_token: 
                                                                              <Left_Backtick '`'>
                                                                            spids: [46361 46365]
                                                                          )
                                                                        }
                                                                      spids: [46360]
                                                                    )
                                                                  ]
                                                                  spids: [46360]
                                                                )
                                                                (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: {(SQ )}
                                                                                      spids: [46417]
                                                                                    )
                                                                                  ]
                                                                                  spids: [46417]
                                                                                )
                                                                              ]
                                                                              spids: [
46397
46404
46420
-1
                                                                              ]
                                                                            )
                                                                          ]
                                                                          spids: [46384 46394 46423]
                                                                        )
                                                                      ]
                                                                      spids: [-1 46381]
                                                                    )
                                                                  ]
                                                                  spids: [-1 46426]
                                                                )
                                                                (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: [
46444
46455
                                                                                    ]
                                                                                  )
                                                                                }
                                                                              spids: [46443]
                                                                            )
                                                                          ]
                                                                          spids: [46443]
                                                                        )
                                                                        (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: [
46459
46470
                                                                                    ]
                                                                                  )
                                                                                }
                                                                              spids: [46458]
                                                                            )
                                                                          ]
                                                                          spids: [46458]
                                                                        )
                                                                        (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: [46483]
                                                                            )
                                                                          ]
                                                                          spids: [46483]
                                                                        )
                                                                        (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: [
46491
46504
                                                                                          ]
                                                                                        )
                                                                                      } {(-ne)} {(0)}
                                                                                    )
                                                                                  terminator: 
                                                                                    <Op_Semi ';'>
                                                                                )
                                                                              ]
                                                                              action: [
                                                                                (C {(func_append)} 
                                                                                  {(newdeplibs)} {(DQ (' ') ($ VSub_Name '$i'))}
                                                                                )
                                                                              ]
                                                                              spids: [-1 46511]
                                                                            )
                                                                          ]
                                                                          else_action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: 
droppeddeps
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: {(yes)}
                                                                                  spids: [46527]
                                                                                )
                                                                              ]
                                                                              spids: [46527]
                                                                            )
                                                                            (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: [46524 46578]
                                                                        )
                                                                      ]
                                                                      spids: [-1 46440]
                                                                    )
                                                                  ]
                                                                  spids: [-1 46581]
                                                                )
                                                              ]
                                                              spids: [-1 46357]
                                                            )
                                                          ]
                                                          else_action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:droppeddeps)
                                                                  op: Equal
                                                                  rhs: {(yes)}
                                                                  spids: [46587]
                                                                )
                                                              ]
                                                              spids: [46587]
                                                            )
                                                            (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: [46584 46624]
                                                        )
                                                      ]
                                                      spids: [46312 46314 46627 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other '*')}]
                                                      action: [
                                                        (C {(func_append)} {(newdeplibs)} 
                                                          {(DQ (' ') ($ VSub_Name '$i'))}
                                                        )
                                                      ]
                                                      spids: [46630 46631 46644 -1]
                                                    )
                                                  ]
                                                  spids: [46305 46309 46647]
                                                )
                                              ]
                                              spids: [46302 46650]
                                            )
                                          spids: [46298 46300]
                                        )
                                      ]
                                      spids: [46282 46653]
                                    )
                                  ]
                                  spids: [45924 45925 46656 -1]
                                )
                                (case_arm
                                  pat_list: [{(file_magic) (Lit_Other '*')}]
                                  action: [
                                    (Sentence
                                      child: 
                                        (C {(set)} {(dummy)} {($ VSub_Name '$deplibs_check_method')})
                                      terminator: <Op_Semi ';'>
                                    )
                                    (C {(shift)})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:file_magic_regex)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (C {(expr)} 
                                                        {(DQ ($ VSub_Name '$deplibs_check_method'))} {(Lit_Other ':')} 
                                                        {
                                                          (DQ ($ VSub_Number '$1') (' ') 
                                                            (EscapedLiteralPart
                                                              token: <Lit_EscapedChar '\\('>
                                                            ) ('.*') (EscapedLiteralPart token:<Lit_EscapedChar '\\)'>)
                                                          )
                                                        }
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [46675 46691]
                                              )
                                            }
                                          spids: [46674]
                                        )
                                      ]
                                      spids: [46674]
                                    )
                                    (ForEach
                                      iter_name: a_deplib
                                      iter_words: [{($ VSub_Name '$deplibs')}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Case
                                              to_match: {($ VSub_Name '$a_deplib')}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(-l) (Lit_Other '*')}]
                                                  action: [
                                                    (C {(func_stripname)} {(-l)} {(SQ )} 
                                                      {(DQ ($ VSub_Name '$a_deplib'))}
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:name)
                                                          op: Equal
                                                          rhs: 
                                                            {($ VSub_Name '$func_stripname_result')}
                                                          spids: [46730]
                                                        )
                                                      ]
                                                      spids: [46730]
                                                    )
                                                    (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: {(SQ )}
                                                                          spids: [46783]
                                                                        )
                                                                      ]
                                                                      spids: [46783]
                                                                    )
                                                                  ]
                                                                  spids: [46763 46770 46786 -1]
                                                                )
                                                              ]
                                                              spids: [46750 46760 46789]
                                                            )
                                                          ]
                                                          spids: [-1 46747]
                                                        )
                                                      ]
                                                      spids: [-1 46792]
                                                    )
                                                    (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: [46810 46821]
                                                                      )
                                                                    }
                                                                  spids: [46809]
                                                                )
                                                              ]
                                                              spids: [46809]
                                                            )
                                                            (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: 
False
                                                                                      )
                                                                                    ]
                                                                                  )
                                                                                left_token: 
                                                                                  <Left_Backtick 
'`'
                                                                                  >
                                                                                spids: [46839 46853]
                                                                              )
                                                                            }
                                                                          spids: [46838]
                                                                        )
                                                                      ]
                                                                      spids: [46838]
                                                                    )
                                                                  ]
                                                                  spids: [-1 46835]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:libnameglob)
                                                                      op: Equal
                                                                      rhs: {($ VSub_Name '$libname')}
                                                                      spids: [46859]
                                                                    )
                                                                  ]
                                                                  spids: [46859]
                                                                )
                                                              ]
                                                              spids: [46856 46863]
                                                            )
                                                            (AndOr
                                                              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: [46879 46885]
                                                                          )
                                                                        }
                                                                      spids: [46878]
                                                                    )
                                                                  ]
                                                                  spids: [46878]
                                                                )
                                                              ]
                                                              op_id: Op_DAmp
                                                            )
                                                            (ForEach
                                                              iter_name: i
                                                              iter_words: [
                                                                {($ VSub_Name '$lib_search_path')}
                                                                {
                                                                  ($ VSub_Name '$sys_lib_search_path')
                                                                }
                                                                {($ VSub_Name '$shlib_search_path')}
                                                              ]
                                                              do_arg_iter: False
                                                              body: 
                                                                (DoGroup
                                                                  children: [
                                                                    (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: [
46939
                                                                                                    ]
                                                                                                  )
                                                                                                ]
                                                                                              )
                                                                                            ]
                                                                                          )
                                                                                        left_token: 
                                                                                          <
Left_Backtick '`'
                                                                                          >
                                                                                        spids: [
46928
46941
                                                                                        ]
                                                                                      )
                                                                                    }
                                                                                  spids: [46927]
                                                                                )
                                                                              ]
                                                                              spids: [46927]
                                                                            )
                                                                            (C 
                                                                              {
                                                                                ($ VSub_Name 
'$nocaseglob'
                                                                                )
                                                                              }
                                                                            )
                                                                          ]
                                                                          spids: [-1 46917]
                                                                        )
                                                                      ]
                                                                      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: [
46962
                                                                                                ]
                                                                                              )
                                                                                            ]
                                                                                          )
                                                                                        ]
                                                                                      )
                                                                                    left_token: 
                                                                                      <
Left_Backtick '`'
                                                                                      >
                                                                                    spids: [
46951
46964
                                                                                    ]
                                                                                  )
                                                                                }
                                                                              spids: [46950]
                                                                            )
                                                                          ]
                                                                          spids: [46950]
                                                                        )
                                                                      ]
                                                                      spids: [46947 46967]
                                                                    )
                                                                    (ForEach
                                                                      iter_name: potent_lib
                                                                      iter_words: [
                                                                        {
                                                                          ($ VSub_Name 
'$potential_libs'
                                                                          )
                                                                        }
                                                                      ]
                                                                      do_arg_iter: False
                                                                      body: 
                                                                        (DoGroup
                                                                          children: [
                                                                            (If
                                                                              arms: [
                                                                                (if_arm
                                                                                  cond: [
                                                                                    (Sentence
                                                                                      child: 
                                                                                        (Pipeline
                                                                                          children: [
                                                                                            (SimpleCommand
                                                                                              words: [
                                                                                                {
                                                                                                  (
ls
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (
-lLd
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (DQ 
                                                                                                    ($ 
VSub_Name '$potent_lib'
                                                                                                    )
                                                                                                  )
                                                                                                }
                                                                                              ]
                                                                                              redirects: [
                                                                                                (Redir
                                                                                                  op_id: 
Redir_Great
                                                                                                  fd: 
2
                                                                                                  arg_word: 
                                                                                                    {
                                                                                                      (
/dev/null
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
46996
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                            (SimpleCommand
                                                                                              words: [
                                                                                                {
                                                                                                  ($ 
VSub_Name '$GREP'
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (DQ 
                                                                                                    (
' -> '
                                                                                                    )
                                                                                                  )
                                                                                                }
                                                                                              ]
                                                                                              redirects: [
                                                                                                (Redir
                                                                                                  op_id: 
Redir_Great
                                                                                                  fd: 
-1
                                                                                                  arg_word: 
                                                                                                    {
                                                                                                      (
/dev/null
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
47008
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          negated: 
False
                                                                                        )
                                                                                      terminator: 
                                                                                        <Op_Semi 
';'
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  action: [
                                                                                    (ControlFlow
                                                                                      token: 
                                                                                        <
ControlFlow_Continue continue
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  spids: [-1 47012]
                                                                                )
                                                                              ]
                                                                              spids: [-1 47018]
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: potlib
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      ($ VSub_Name 
'$potent_lib'
                                                                                      )
                                                                                    }
                                                                                  spids: [47041]
                                                                                )
                                                                              ]
                                                                              spids: [47041]
                                                                            )
                                                                            (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: [
47055
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                    )
                                                                                  terminator: 
                                                                                    <Op_Semi ';'>
                                                                                )
                                                                              ]
                                                                              body: 
                                                                                (DoGroup
                                                                                  children: [
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
potliblink
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: 
                                                                                            {
                                                                                              (CommandSubPart
                                                                                                command_list: 
                                                                                                  (CommandList
                                                                                                    children: [
                                                                                                      (Pipeline
                                                                                                        children: [
                                                                                                          (C 
                                                                                                            {
                                                                                                              (
ls
                                                                                                              )
                                                                                                            } {(-ld)} {($ VSub_Name '$potlib')}
                                                                                                          )
                                                                                                          (C 
                                                                                                            {
                                                                                                              ($ 
VSub_Name '$SED'
                                                                                                              )
                                                                                                            } {(SQ <'s/.* -> //'>)}
                                                                                                          )
                                                                                                        ]
                                                                                                        negated: 
False
                                                                                                      )
                                                                                                    ]
                                                                                                  )
                                                                                                left_token: 
                                                                                                  <
Left_Backtick '`'
                                                                                                  >
                                                                                                spids: [
47063
47077
                                                                                                ]
                                                                                              )
                                                                                            }
                                                                                          spids: [
47062
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [47062]
                                                                                    )
                                                                                    (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: [
47106
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
47106
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
47087
47104
47108
-1
                                                                                          ]
                                                                                        )
                                                                                        (case_arm
                                                                                          pat_list: [
                                                                                            {
                                                                                              (
Lit_Other '*'
                                                                                              )
                                                                                            }
                                                                                          ]
                                                                                          action: [
                                                                                            (Assignment
                                                                                              keyword: 
Assign_None
                                                                                              pairs: [
                                                                                                (assign_pair
                                                                                                  lhs: 
                                                                                                    (LhsName
                                                                                                      name: 
potlib
                                                                                                    )
                                                                                                  op: 
                                                                                                    Equal
                                                                                                  rhs: 
                                                                                                    {
                                                                                                      (CommandSubPart
                                                                                                        command_list: 
                                                                                                          (CommandList
                                                                                                            children: [
                                                                                                              (Pipeline
                                                                                                                children: [
                                                                                                                  (C 
                                                                                                                    {
                                                                                                                      ($ 
VSub_Name '$ECHO'
                                                                                                                      )
                                                                                                                    } {(DQ ($ VSub_Name '$potlib'))}
                                                                                                                  )
                                                                                                                  (C 
                                                                                                                    {
                                                                                                                      ($ 
VSub_Name '$SED'
                                                                                                                      )
                                                                                                                    } {(SQ <'s|[^/]*$||'>)}
                                                                                                                  )
                                                                                                                ]
                                                                                                                negated: 
False
                                                                                                              )
                                                                                                            ]
                                                                                                          )
                                                                                                        left_token: 
                                                                                                          <
Left_Backtick '`'
                                                                                                          >
                                                                                                        spids: [
47115
47129
                                                                                                        ]
                                                                                                      ) (DQ ($ VSub_Name '$potliblink'))
                                                                                                    }
                                                                                                  spids: [
47114
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
47114
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
47111
47112
47133
-1
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
47080
47084
47136
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  spids: [47059 47139]
                                                                                )
                                                                            )
                                                                            (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: [
47153
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                            (C 
                                                                                              {
                                                                                                ($ 
VSub_Name '$SED'
                                                                                                )
                                                                                              } {(-e)} {(10q)}
                                                                                            )
                                                                                            (SimpleCommand
                                                                                              words: [
                                                                                                {
                                                                                                  ($ 
VSub_Name '$EGREP'
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (DQ 
                                                                                                    ($ 
VSub_Name '$file_magic_regex'
                                                                                                    )
                                                                                                  )
                                                                                                }
                                                                                              ]
                                                                                              redirects: [
                                                                                                (Redir
                                                                                                  op_id: 
Redir_Great
                                                                                                  fd: 
-1
                                                                                                  arg_word: 
                                                                                                    {
                                                                                                      (
/dev/null
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
47174
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          negated: 
False
                                                                                        )
                                                                                      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: {(SQ )}
                                                                                          spids: [
47192
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [47192]
                                                                                    )
                                                                                    (ControlFlow
                                                                                      token: 
                                                                                        <
ControlFlow_Break break
                                                                                        >
                                                                                      arg_word: {(2)}
                                                                                    )
                                                                                  ]
                                                                                  spids: [-1 47179]
                                                                                )
                                                                              ]
                                                                              spids: [-1 47200]
                                                                            )
                                                                          ]
                                                                          spids: [46979 47203]
                                                                        )
                                                                      spids: [46975 46977]
                                                                    )
                                                                  ]
                                                                  spids: [46901 47206]
                                                                )
                                                              spids: [46893 46899]
                                                            )
                                                          ]
                                                          spids: [-1 46806]
                                                        )
                                                      ]
                                                      spids: [-1 47209]
                                                    )
                                                    (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: [47226]
                                                                )
                                                              ]
                                                              spids: [47226]
                                                            )
                                                            (C {(echo)})
                                                            (C {($ VSub_Name '$ECHO')} 
                                                              {
                                                                (DQ 
                                                                  (
'*** Warning: linker path does not have real file for library '
                                                                  ) ($ VSub_Name '$a_deplib') (.)
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
'*** I have the capability to make that library automatically link in when'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
'*** you link to this library.  But I can only do this if you have a'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
'*** shared version of the library, which you do not appear to have'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
'*** because I did check the linker path looking for a file starting'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(test)} {(-z)} 
                                                                          {
                                                                            (DQ 
                                                                              ($ VSub_Name '$potlib')
                                                                            )
                                                                          }
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (C {($ VSub_Name '$ECHO')} 
                                                                      {
                                                                        (DQ ('*** with ') 
                                                                          ($ VSub_Name '$libname') (' but no candidates were found. (...for file magic test)')
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [-1 47281]
                                                                )
                                                              ]
                                                              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: [47293 47313]
                                                            )
                                                          ]
                                                          spids: [-1 47223]
                                                        )
                                                      ]
                                                      spids: [-1 47316]
                                                    )
                                                  ]
                                                  spids: [46713 46715 47319 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (C {(func_append)} {(newdeplibs)} 
                                                      {(DQ (' ') ($ VSub_Name '$a_deplib'))}
                                                    )
                                                  ]
                                                  spids: [47322 47323 47340 -1]
                                                )
                                              ]
                                              spids: [46706 46710 47343]
                                            )
                                          ]
                                          spids: [46703 47346]
                                        )
                                      spids: [46699 46701]
                                    )
                                  ]
                                  spids: [46659 46661 47352 -1]
                                )
                                (case_arm
                                  pat_list: [{(match_pattern) (Lit_Other '*')}]
                                  action: [
                                    (Sentence
                                      child: 
                                        (C {(set)} {(dummy)} {($ VSub_Name '$deplibs_check_method')})
                                      terminator: <Op_Semi ';'>
                                    )
                                    (C {(shift)})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:match_pattern_regex)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (C {(expr)} 
                                                        {(DQ ($ VSub_Name '$deplibs_check_method'))} {(Lit_Other ':')} 
                                                        {
                                                          (DQ ($ VSub_Number '$1') (' ') 
                                                            (EscapedLiteralPart
                                                              token: <Lit_EscapedChar '\\('>
                                                            ) ('.*') (EscapedLiteralPart token:<Lit_EscapedChar '\\)'>)
                                                          )
                                                        }
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [47371 47387]
                                              )
                                            }
                                          spids: [47370]
                                        )
                                      ]
                                      spids: [47370]
                                    )
                                    (ForEach
                                      iter_name: a_deplib
                                      iter_words: [{($ VSub_Name '$deplibs')}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Case
                                              to_match: {($ VSub_Name '$a_deplib')}
                                              arms: [
                                                (case_arm
                                                  pat_list: [{(-l) (Lit_Other '*')}]
                                                  action: [
                                                    (C {(func_stripname)} {(-l)} {(SQ )} 
                                                      {(DQ ($ VSub_Name '$a_deplib'))}
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:name)
                                                          op: Equal
                                                          rhs: 
                                                            {($ VSub_Name '$func_stripname_result')}
                                                          spids: [47426]
                                                        )
                                                      ]
                                                      spids: [47426]
                                                    )
                                                    (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: {(SQ )}
                                                                          spids: [47479]
                                                                        )
                                                                      ]
                                                                      spids: [47479]
                                                                    )
                                                                  ]
                                                                  spids: [47459 47466 47482 -1]
                                                                )
                                                              ]
                                                              spids: [47446 47456 47485]
                                                            )
                                                          ]
                                                          spids: [-1 47443]
                                                        )
                                                      ]
                                                      spids: [-1 47488]
                                                    )
                                                    (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: [47506 47517]
                                                                      )
                                                                    }
                                                                  spids: [47505]
                                                                )
                                                              ]
                                                              spids: [47505]
                                                            )
                                                            (ForEach
                                                              iter_name: i
                                                              iter_words: [
                                                                {($ VSub_Name '$lib_search_path')}
                                                                {
                                                                  ($ VSub_Name '$sys_lib_search_path')
                                                                }
                                                                {($ VSub_Name '$shlib_search_path')}
                                                              ]
                                                              do_arg_iter: False
                                                              body: 
                                                                (DoGroup
                                                                  children: [
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: potential_libs
                                                                            )
                                                                          op: Equal
                                                                          rhs: 
                                                                            {
                                                                              (CommandSubPart
                                                                                command_list: 
                                                                                  (CommandList
                                                                                    children: [
                                                                                      (SimpleCommand
                                                                                        words: [
                                                                                          {(ls)}
                                                                                          {
                                                                                            ($ 
VSub_Name '$i'
                                                                                            ) (/) ($ VSub_Name '$libname') (Lit_Other '[') (.-) (Lit_Other ']') (Lit_Other '*')
                                                                                          }
                                                                                        ]
                                                                                        redirects: [
                                                                                          (Redir
                                                                                            op_id: 
Redir_Great
                                                                                            fd: 2
                                                                                            arg_word: 
                                                                                              {
                                                                                                (
/dev/null
                                                                                                )
                                                                                              }
                                                                                            spids: [
47548
                                                                                            ]
                                                                                          )
                                                                                        ]
                                                                                      )
                                                                                    ]
                                                                                  )
                                                                                left_token: 
                                                                                  <Left_Backtick 
'`'
                                                                                  >
                                                                                spids: [47537 47550]
                                                                              )
                                                                            }
                                                                          spids: [47536]
                                                                        )
                                                                      ]
                                                                      spids: [47536]
                                                                    )
                                                                    (ForEach
                                                                      iter_name: potent_lib
                                                                      iter_words: [
                                                                        {
                                                                          ($ VSub_Name 
'$potential_libs'
                                                                          )
                                                                        }
                                                                      ]
                                                                      do_arg_iter: False
                                                                      body: 
                                                                        (DoGroup
                                                                          children: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: potlib
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      ($ VSub_Name 
'$potent_lib'
                                                                                      )
                                                                                    }
                                                                                  spids: [47565]
                                                                                )
                                                                              ]
                                                                              spids: [47565]
                                                                            )
                                                                            (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: [
47584
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                            (C 
                                                                                              {
                                                                                                ($ 
VSub_Name '$SED'
                                                                                                )
                                                                                              } {(10q)}
                                                                                            )
                                                                                            (SimpleCommand
                                                                                              words: [
                                                                                                {
                                                                                                  ($ 
VSub_Name '$EGREP'
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (DQ 
                                                                                                    ($ 
VSub_Name '$match_pattern_regex'
                                                                                                    )
                                                                                                  )
                                                                                                }
                                                                                              ]
                                                                                              redirects: [
                                                                                                (Redir
                                                                                                  op_id: 
Redir_Great
                                                                                                  fd: 
-1
                                                                                                  arg_word: 
                                                                                                    {
                                                                                                      (
/dev/null
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
47603
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          negated: 
False
                                                                                        )
                                                                                      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: {(SQ )}
                                                                                          spids: [
47621
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [47621]
                                                                                    )
                                                                                    (ControlFlow
                                                                                      token: 
                                                                                        <
ControlFlow_Break break
                                                                                        >
                                                                                      arg_word: {(2)}
                                                                                    )
                                                                                  ]
                                                                                  spids: [-1 47608]
                                                                                )
                                                                              ]
                                                                              spids: [-1 47629]
                                                                            )
                                                                          ]
                                                                          spids: [47562 47632]
                                                                        )
                                                                      spids: [47558 47560]
                                                                    )
                                                                  ]
                                                                  spids: [47533 47635]
                                                                )
                                                              spids: [47525 47531]
                                                            )
                                                          ]
                                                          spids: [-1 47502]
                                                        )
                                                      ]
                                                      spids: [-1 47638]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} {(-n)} 
                                                                  {(DQ ($ VSub_Name '$a_deplib'))}
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:droppeddeps)
                                                                  op: Equal
                                                                  rhs: {(yes)}
                                                                  spids: [47655]
                                                                )
                                                              ]
                                                              spids: [47655]
                                                            )
                                                            (C {(echo)})
                                                            (C {($ VSub_Name '$ECHO')} 
                                                              {
                                                                (DQ 
                                                                  (
'*** Warning: linker path does not have real file for library '
                                                                  ) ($ VSub_Name '$a_deplib') (.)
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
'*** I have the capability to make that library automatically link in when'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
'*** you link to this library.  But I can only do this if you have a'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
'*** shared version of the library, which you do not appear to have'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(echo)} 
                                                              {
                                                                (DQ 
                                                                  (
'*** because I did check the linker path looking for a file starting'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(test)} {(-z)} 
                                                                          {
                                                                            (DQ 
                                                                              ($ VSub_Name '$potlib')
                                                                            )
                                                                          }
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (C {($ VSub_Name '$ECHO')} 
                                                                      {
                                                                        (DQ ('*** with ') 
                                                                          ($ VSub_Name '$libname') (' but no candidates were found. (...for regex pattern test)')
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [-1 47710]
                                                                )
                                                              ]
                                                              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: [47722 47742]
                                                            )
                                                          ]
                                                          spids: [-1 47652]
                                                        )
                                                      ]
                                                      spids: [-1 47745]
                                                    )
                                                  ]
                                                  spids: [47409 47411 47748 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (C {(func_append)} {(newdeplibs)} 
                                                      {(DQ (' ') ($ VSub_Name '$a_deplib'))}
                                                    )
                                                  ]
                                                  spids: [47751 47752 47769 -1]
                                                )
                                              ]
                                              spids: [47402 47406 47772]
                                            )
                                          ]
                                          spids: [47399 47775]
                                        )
                                      spids: [47395 47397]
                                    )
                                  ]
                                  spids: [47355 47357 47781 -1]
                                )
                                (case_arm
                                  pat_list: [{(none)} {(unknown)} {(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:newdeplibs)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [47796]
                                        )
                                      ]
                                      spids: [47796]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_deplibs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {($ VSub_Name '$ECHO')} 
                                                            {(DQ (' ') ($ VSub_Name '$deplibs'))}
                                                          )
                                                          (C {($ VSub_Name '$SED')} 
                                                            {(SQ <'s/ -lc$//; s/ -[LR][^ ]*//g'>)}
                                                          )
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [47800 47815]
                                              )
                                            }
                                          spids: [47799]
                                        )
                                      ]
                                      spids: [47799]
                                    )
                                    (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: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:tmp_deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (CommandSubPart
                                                                command_list: 
                                                                  (CommandList
                                                                    children: [
                                                                      (Pipeline
                                                                        children: [
                                                                          (C {($ VSub_Name '$ECHO')} 
                                                                            {
                                                                              (DQ (' ') 
                                                                                ($ VSub_Name 
'$tmp_deplibs'
                                                                                )
                                                                              )
                                                                            }
                                                                          )
                                                                          (C {($ VSub_Name '$SED')} 
                                                                            {
                                                                              (DQ ('s|') 
                                                                                ($ VSub_Name '$i') ('||')
                                                                              )
                                                                            }
                                                                          )
                                                                        ]
                                                                        negated: False
                                                                      )
                                                                    ]
                                                                  )
                                                                left_token: <Left_Backtick '`'>
                                                                spids: [47853 47870]
                                                              )
                                                            }
                                                          spids: [47852]
                                                        )
                                                      ]
                                                      spids: [47852]
                                                    )
                                                  ]
                                                  spids: [47845 47873]
                                                )
                                              spids: [47839 47843]
                                            )
                                          ]
                                          spids: [-1 47831]
                                        )
                                      ]
                                      spids: [-1 47876]
                                    )
                                    (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: [-1 47912]
                                                )
                                              ]
                                              else_action: [
                                                (C {(echo)} 
                                                  {
                                                    (DQ 
                                                      (
'*** Warning: inter-library dependencies are not known to be supported.'
                                                      )
                                                    )
                                                  }
                                                )
                                              ]
                                              spids: [47922 47932]
                                            )
                                            (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: [47942]
                                                )
                                              ]
                                              spids: [47942]
                                            )
                                          ]
                                          spids: [47886 47893 47946 -1]
                                        )
                                      ]
                                      spids: [47879 47883 47949]
                                    )
                                  ]
                                  spids: [47784 47793 47952 -1]
                                )
                              ]
                              spids: [45886 45890 47955]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:versuffix)
                                  op: Equal
                                  rhs: {($ VSub_Name '$versuffix_save')}
                                  spids: [47958]
                                )
                              ]
                              spids: [47958]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:major)
                                  op: Equal
                                  rhs: {($ VSub_Name '$major_save')}
                                  spids: [47962]
                                )
                              ]
                              spids: [47962]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:release)
                                  op: Equal
                                  rhs: {($ VSub_Name '$release_save')}
                                  spids: [47966]
                                )
                              ]
                              spids: [47966]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libname)
                                  op: Equal
                                  rhs: {($ VSub_Name '$libname_save')}
                                  spids: [47970]
                                )
                              ]
                              spids: [47970]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:name)
                                  op: Equal
                                  rhs: {($ VSub_Name '$name_save')}
                                  spids: [47974]
                                )
                              ]
                              spids: [47974]
                            )
                            (Case
                              to_match: {($ VSub_Name '$host')}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (-) (Lit_Other '*') (-rhapsody) (Lit_Other '*')}
                                    {(Lit_Other '*') (-) (Lit_Other '*') (-darwin1.) (Lit_Other '[') 
                                      (012) (Lit_Other ']')
                                    }
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:newdeplibs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {($ VSub_Name '$ECHO')} 
                                                            {(DQ (' ') ($ VSub_Name '$newdeplibs'))}
                                                          )
                                                          (C {($ VSub_Name '$SED')} 
                                                            {(SQ <'s/ -lc / System.ltframework /'>)}
                                                          )
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [48009 48024]
                                              )
                                            }
                                          spids: [48008]
                                        )
                                      ]
                                      spids: [48008]
                                    )
                                  ]
                                  spids: [47986 48001 48027 -1]
                                )
                              ]
                              spids: [47979 47983 48030]
                            )
                            (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: [-1 48110]
                                                )
                                              ]
                                              spids: [-1 48144]
                                            )
                                            (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: [48163]
                                                        )
                                                      ]
                                                      spids: [48163]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:build_libtool_libs)
                                                          op: Equal
                                                          rhs: {(module)}
                                                          spids: [48171]
                                                        )
                                                      ]
                                                      spids: [48171]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:build_old_libs)
                                                          op: Equal
                                                          rhs: {(yes)}
                                                          spids: [48175]
                                                        )
                                                      ]
                                                      spids: [48175]
                                                    )
                                                  ]
                                                  spids: [-1 48160]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:build_libtool_libs)
                                                      op: Equal
                                                      rhs: {(no)}
                                                      spids: [48182]
                                                    )
                                                  ]
                                                  spids: [48182]
                                                )
                                              ]
                                              spids: [48179 48186]
                                            )
                                          ]
                                          spids: [-1 48063]
                                        )
                                      ]
                                      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: [48277]
                                                            )
                                                          ]
                                                          spids: [48277]
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:build_libtool_libs)
                                                              op: Equal
                                                              rhs: {(module)}
                                                              spids: [48285]
                                                            )
                                                          ]
                                                          spids: [48285]
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:build_old_libs)
                                                              op: Equal
                                                              rhs: {(yes)}
                                                              spids: [48289]
                                                            )
                                                          ]
                                                          spids: [48289]
                                                        )
                                                      ]
                                                      spids: [-1 48274]
                                                    )
                                                  ]
                                                  else_action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:build_libtool_libs)
                                                          op: Equal
                                                          rhs: {(no)}
                                                          spids: [48296]
                                                        )
                                                      ]
                                                      spids: [48296]
                                                    )
                                                  ]
                                                  spids: [48293 48300]
                                                )
                                              ]
                                              spids: [-1 48227]
                                            )
                                          ]
                                          spids: [-1 48303]
                                        )
                                      ]
                                      spids: [48189 48306]
                                    )
                                  ]
                                  spids: [-1 48047]
                                )
                              ]
                              spids: [-1 48309]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$newdeplibs')}
                                  spids: [48316]
                                )
                              ]
                              spids: [48316]
                            )
                          ]
                          spids: [-1 45561]
                        )
                      ]
                      spids: [-1 48320]
                    )
                    (Case
                      to_match: {($ VSub_Name '$host')}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other '*') (-) (Lit_Other '*') (-darwin) (Lit_Other '*')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:newdeplibs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$ECHO')} 
                                                    {(DQ (' ') ($ VSub_Name '$newdeplibs'))}
                                                  )
                                                  (C {($ VSub_Name '$SED')} 
                                                    {
                                                      (SQ 
                                                        <
's% \\([^ $]*\\).ltframework% -framework \\1%g'
                                                        >
                                                      )
                                                    }
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [48343 48358]
                                      )
                                    }
                                  spids: [48342]
                                )
                              ]
                              spids: [48342]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:new_inherited_linker_flags)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$ECHO')} 
                                                    {
                                                      (DQ (' ') 
                                                        ($ VSub_Name '$new_inherited_linker_flags')
                                                      )
                                                    }
                                                  )
                                                  (C {($ VSub_Name '$SED')} 
                                                    {
                                                      (SQ 
                                                        <
's% \\([^ $]*\\).ltframework% -framework \\1%g'
                                                        >
                                                      )
                                                    }
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [48362 48377]
                                      )
                                    }
                                  spids: [48361]
                                )
                              ]
                              spids: [48361]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$ECHO')} 
                                                    {(DQ (' ') ($ VSub_Name '$deplibs'))}
                                                  )
                                                  (C {($ VSub_Name '$SED')} 
                                                    {
                                                      (SQ 
                                                        <
's% \\([^ $]*\\).ltframework% -framework \\1%g'
                                                        >
                                                      )
                                                    }
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [48381 48396]
                                      )
                                    }
                                  spids: [48380]
                                )
                              ]
                              spids: [48380]
                            )
                          ]
                          spids: [48334 48339 48399 -1]
                        )
                      ]
                      spids: [48327 48331 48402]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:new_libs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [48414]
                        )
                      ]
                      spids: [48414]
                    )
                    (ForEach
                      iter_name: path
                      iter_words: [{($ VSub_Name '$notinst_path')}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Case
                              to_match: {(DQ (' ') ($ VSub_Name '$new_libs') (' '))}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') 
                                      (DQ (' -L') ($ VSub_Name '$path') (/) ($ VSub_Name '$objdir') (' ')) (Lit_Other '*')
                                    }
                                  ]
                                  spids: [48440 48449 48451 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Case
                                      to_match: {(DQ (' ') ($ VSub_Name '$deplibs') (' '))}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') 
                                              (DQ (' -L') ($ VSub_Name '$path') (/) 
                                                ($ VSub_Name '$objdir') (' ')
                                              ) (Lit_Other '*')
                                            }
                                          ]
                                          action: [
                                            (C {(func_append)} {(new_libs)} 
                                              {
                                                (DQ (' -L') ($ VSub_Name '$path') (/) 
                                                  ($ VSub_Name '$objdir')
                                                )
                                              }
                                            )
                                          ]
                                          spids: [48469 48478 48492 -1]
                                        )
                                      ]
                                      spids: [48458 48466 48495]
                                    )
                                  ]
                                  spids: [48454 48455 48498 -1]
                                )
                              ]
                              spids: [48429 48437 48501]
                            )
                          ]
                          spids: [48426 48504]
                        )
                      spids: [48422 48424]
                    )
                    (ForEach
                      iter_name: deplib
                      iter_words: [{($ VSub_Name '$deplibs')}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Case
                              to_match: {($ VSub_Name '$deplib')}
                              arms: [
                                (case_arm
                                  pat_list: [{(-L) (Lit_Other '*')}]
                                  action: [
                                    (Case
                                      to_match: {(DQ (' ') ($ VSub_Name '$new_libs') (' '))}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$deplib') (' ')) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [48542 48549 48551 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_append)} {(new_libs)} 
                                              {(DQ (' ') ($ VSub_Name '$deplib'))}
                                            )
                                          ]
                                          spids: [48554 48555 48566 -1]
                                        )
                                      ]
                                      spids: [48531 48539 48569]
                                    )
                                  ]
                                  spids: [48526 48528 48572 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(func_append)} {(new_libs)} {(DQ (' ') ($ VSub_Name '$deplib'))})
                                  ]
                                  spids: [48575 48576 48587 -1]
                                )
                              ]
                              spids: [48519 48523 48590]
                            )
                          ]
                          spids: [48516 48593]
                        )
                      spids: [48512 48514]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:deplibs)
                          op: Equal
                          rhs: {($ VSub_Name '$new_libs')}
                          spids: [48596]
                        )
                      ]
                      spids: [48596]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:library_names)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [48605]
                        )
                      ]
                      spids: [48605]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:old_library)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [48608]
                        )
                      ]
                      spids: [48608]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dlname)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [48611]
                        )
                      ]
                      spids: [48611]
                    )
                    (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: {(SQ )}
                                          spids: [48657]
                                        )
                                      ]
                                      spids: [48657]
                                    )
                                  ]
                                  spids: [48650 48655 48659 -1]
                                )
                              ]
                              spids: [48643 48647 48662]
                            )
                            (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: {(SQ )}
                                          spids: [48685]
                                        )
                                      ]
                                      spids: [48685]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dep_rpath)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [48688]
                                        )
                                      ]
                                      spids: [48688]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:rpath)
                                          op: Equal
                                          rhs: {($ VSub_Name '$finalize_rpath')}
                                          spids: [48691]
                                        )
                                      ]
                                      spids: [48691]
                                    )
                                    (AndOr
                                      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: [48707]
                                            )
                                          ]
                                          spids: [48707]
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                    (ForEach
                                      iter_name: libdir
                                      iter_words: [{($ VSub_Name '$rpath')}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-n)} 
                                                          {
                                                            (DQ 
                                                              ($ VSub_Name 
'$hardcode_libdir_flag_spec'
                                                              )
                                                            )
                                                          }
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (C {(test)} {(-n)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name 
'$hardcode_libdir_separator'
                                                                      )
                                                                    )
                                                                  }
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (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: [48759]
                                                                )
                                                              ]
                                                              spids: [48759]
                                                            )
                                                            (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: [48777]
                                                                        )
                                                                      ]
                                                                      spids: [48777]
                                                                    )
                                                                  ]
                                                                  spids: [-1 48774]
                                                                )
                                                              ]
                                                              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: [48797 48804 48807 -1]
                                                                    )
                                                                    (case_arm
                                                                      pat_list: [{(Lit_Other '*')}]
                                                                      action: [
                                                                        (C {(func_append)} 
                                                                          {(hardcode_libdirs)} {(DQ ($ VSub_Name '$hardcode_libdir_separator') ($ VSub_Name '$libdir'))}
                                                                        )
                                                                      ]
                                                                      spids: [48810 48811 48824 -1]
                                                                    )
                                                                  ]
                                                                  spids: [48788 48794 48827]
                                                                )
                                                              ]
                                                              spids: [48781 48830]
                                                            )
                                                          ]
                                                          spids: [-1 48749]
                                                        )
                                                      ]
                                                      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: [48833 48854]
                                                    )
                                                  ]
                                                  spids: [-1 48735]
                                                )
                                                (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: [48881 48888 48890 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (C {(func_append)} {(perm_rpath)} 
                                                              {(DQ (' ') ($ VSub_Name '$libdir'))}
                                                            )
                                                          ]
                                                          spids: [48893 48894 48905 -1]
                                                        )
                                                      ]
                                                      spids: [48871 48878 48908]
                                                    )
                                                  ]
                                                  spids: [48857 48868]
                                                )
                                              ]
                                              spids: [-1 48911]
                                            )
                                          ]
                                          spids: [48721 48914]
                                        )
                                      spids: [48717 48719]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {
                                                        (DQ 
                                                          ($ VSub_Name '$hardcode_libdir_separator')
                                                        )
                                                      }
                                                    )
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$hardcode_libdirs'))}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:libdir)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$hardcode_libdirs')}
                                                  spids: [48946]
                                                )
                                              ]
                                              spids: [48946]
                                            )
                                            (C {(eval)} 
                                              {
                                                (DQ ('dep_rpath=') 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar '\\"'>
                                                  ) ($ VSub_Name '$hardcode_libdir_flag_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                )
                                              }
                                            )
                                          ]
                                          spids: [-1 48943]
                                        )
                                      ]
                                      spids: [-1 48960]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$runpath_var'))}
                                                    )
                                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$perm_rpath'))})
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:rpath)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [48991]
                                                )
                                              ]
                                              spids: [48991]
                                            )
                                            (ForEach
                                              iter_name: dir
                                              iter_words: [{($ VSub_Name '$perm_rpath')}]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (C {(func_append)} {(rpath)} 
                                                      {(DQ ($ VSub_Name '$dir') (':'))}
                                                    )
                                                  ]
                                                  spids: [49003 49016]
                                                )
                                              spids: [48999 49001]
                                            )
                                            (C {(eval)} 
                                              {
                                                (DQ ($ VSub_Name '$runpath_var') ("='") 
                                                  ($ VSub_Name '$rpath') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ($ VSub_Name '$runpath_var') ("'; export ") 
                                                  ($ VSub_Name '$runpath_var')
                                                )
                                              }
                                            )
                                          ]
                                          spids: [-1 48984]
                                        )
                                      ]
                                      spids: [-1 49032]
                                    )
                                    (AndOr
                                      children: [
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$dep_rpath'))})
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:deplibs)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name '$dep_rpath') (' ') 
                                                    ($ VSub_Name '$deplibs')
                                                  )
                                                }
                                              spids: [49045]
                                            )
                                          ]
                                          spids: [49045]
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                  ]
                                  spids: [-1 48678]
                                )
                              ]
                              spids: [-1 49053]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:shlibpath)
                                  op: Equal
                                  rhs: {($ VSub_Name '$finalize_shlibpath')}
                                  spids: [49057]
                                )
                              ]
                              spids: [49057]
                            )
                            (AndOr
                              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: [49073]
                                    )
                                  ]
                                  spids: [49073]
                                )
                              ]
                              op_id: Op_DPipe
                            )
                            (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: [-1 49089]
                                )
                              ]
                              spids: [-1 49105]
                            )
                            (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: [49139]
                                )
                              ]
                              spids: [49139]
                            )
                            (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: [-1 49158]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:soname)
                                      op: Equal
                                      rhs: {($ VSub_Name '$realname')}
                                      spids: [49172]
                                    )
                                  ]
                                  spids: [49172]
                                )
                              ]
                              spids: [49169 49176]
                            )
                            (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: [49193]
                                        )
                                      ]
                                      spids: [49193]
                                    )
                                  ]
                                  spids: [-1 49190]
                                )
                              ]
                              spids: [-1 49197]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:lib)
                                  op: Equal
                                  rhs: {($ VSub_Name '$output_objdir') (/) ($ VSub_Name '$realname')}
                                  spids: [49201]
                                )
                              ]
                              spids: [49201]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:linknames)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [49207]
                                )
                              ]
                              spids: [49207]
                            )
                            (ForEach
                              iter_name: link
                              do_arg_iter: True
                              body: 
                                (DoGroup
                                  children: [
                                    (C {(func_append)} {(linknames)} {(DQ (' ') ($ VSub_Name '$link'))})
                                  ]
                                  spids: [49215 49228]
                                )
                              spids: [-1 -1]
                            )
                            (AndOr
                              children: [
                                (C {(test)} {(-z)} {(DQ ($ VSub_Name '$pic_flag'))})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:libobjs)
                                      op: Equal
                                      rhs: 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (C {($ VSub_Name '$ECHO')} 
                                                        {(DQ ($ VSub_Name '$libobjs'))}
                                                      )
                                                      (C {($ VSub_Name '$SP2NL')})
                                                      (C {($ VSub_Name '$SED')} 
                                                        {(DQ ($ VSub_Name '$lo2o'))}
                                                      )
                                                      (C {($ VSub_Name '$NL2SP')})
                                                    ]
                                                    negated: False
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [49247 49269]
                                          )
                                        }
                                      spids: [49246]
                                    )
                                  ]
                                  spids: [49246]
                                )
                              ]
                              op_id: Op_DAmp
                            )
                            (AndOr
                              children: [
                                (C {(test)} {(DQ (X) ($ VSub_Name '$libobjs'))} {(Lit_Other '=')} 
                                  {(DQ ('X '))}
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:libobjs)
                                      op: Equal
                                      rhs: {(SQ )}
                                      spids: [49287]
                                    )
                                  ]
                                  spids: [49287]
                                )
                              ]
                              op_id: Op_DAmp
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:delfiles)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [49291]
                                )
                              ]
                              spids: [49291]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$export_symbols'))})
                                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$include_expsyms'))})
                                          ]
                                          op_id: Op_DAmp
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (AndOr
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (C {(cp)} {(DQ ($ VSub_Name '$export_symbols'))} 
                                          {
                                            (DQ ($ VSub_Name '$output_objdir') (/) 
                                              ($ VSub_Name '$libname') (.uexp)
                                            )
                                          }
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:export_symbols)
                                          op: Equal
                                          rhs: 
                                            {($ VSub_Name '$output_objdir') (/) 
                                              ($ VSub_Name '$libname') (.uexp)
                                            }
                                          spids: [49336]
                                        )
                                      ]
                                      spids: [49336]
                                    )
                                    (C {(func_append)} {(delfiles)} 
                                      {(DQ (' ') ($ VSub_Name '$export_symbols'))}
                                    )
                                  ]
                                  spids: [-1 49315]
                                )
                              ]
                              spids: [-1 49353]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:orig_export_symbols)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [49357]
                                )
                              ]
                              spids: [49357]
                            )
                            (Case
                              to_match: {($ VSub_Name '$host_os')}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(cygwin) (Lit_Other '*')}
                                    {(mingw) (Lit_Other '*')}
                                    {(cegcc) (Lit_Other '*')}
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$export_symbols'))}
                                                    )
                                                    (C {(test)} {(-z)} 
                                                      {(DQ ($ VSub_Name '$export_symbols_regex'))}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (AndOr
                                              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: [49445]
                                                        )
                                                      ]
                                                      spids: [49445]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:export_symbols)
                                                          op: Equal
                                                          rhs: {(SQ )}
                                                          spids: [49449]
                                                        )
                                                      ]
                                                      spids: [49449]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:always_export_symbols)
                                                          op: Equal
                                                          rhs: {(yes)}
                                                          spids: [49452]
                                                        )
                                                      ]
                                                      spids: [49452]
                                                    )
                                                  ]
                                                  spids: [49418]
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          spids: [-1 49403]
                                        )
                                      ]
                                      spids: [-1 49459]
                                    )
                                  ]
                                  spids: [49367 49379 49462 -1]
                                )
                              ]
                              spids: [49360 49364 49465]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-z)} {(DQ ($ VSub_Name '$export_symbols'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(yes)} {(Lit_Other '=')} 
                                                      {(DQ ($ VSub_Name '$always_export_symbols'))}
                                                    )
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$export_symbols_regex'))}
                                                    )
                                                  ]
                                                  op_id: Op_DPipe
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_verbose)} 
                                              {
                                                (DQ ("generating symbol list for '") 
                                                  ($ 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: [49522]
                                                )
                                              ]
                                              spids: [49522]
                                            )
                                            (AndOr
                                              children: [
                                                (C {($ VSub_Name '$opt_dry_run')})
                                                (C {($ VSub_Name '$RM')} 
                                                  {($ VSub_Name '$export_symbols')}
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:cmds)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$export_symbols_cmds')}
                                                  spids: [49538]
                                                )
                                              ]
                                              spids: [49538]
                                            )
                                            (Sentence
                                              child: 
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:save_ifs)
                                                      op: Equal
                                                      rhs: {($ VSub_Name '$IFS')}
                                                      spids: [49542]
                                                    )
                                                  ]
                                                  spids: [49542]
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:IFS)
                                                  op: Equal
                                                  rhs: {(SQ <'~'>)}
                                                  spids: [49546]
                                                )
                                              ]
                                              spids: [49546]
                                            )
                                            (ForEach
                                              iter_name: cmd1
                                              iter_words: [{($ VSub_Name '$cmds')}]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:IFS)
                                                          op: Equal
                                                          rhs: {($ VSub_Name '$save_ifs')}
                                                          spids: [49564]
                                                        )
                                                      ]
                                                      spids: [49564]
                                                    )
                                                    (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: [49602]
                                                                )
                                                              ]
                                                              spids: [49602]
                                                            )
                                                            (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: [49622]
                                                                )
                                                              ]
                                                              spids: [49622]
                                                            )
                                                          ]
                                                          spids: [49585 49599 49626 -1]
                                                        )
                                                        (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: [49633]
                                                                )
                                                              ]
                                                              spids: [49633]
                                                            )
                                                          ]
                                                          spids: [49629 49630 49637 -1]
                                                        )
                                                      ]
                                                      spids: [49576 49582 49640]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (AndOr
                                                              children: [
                                                                (C {(test)} {(yes)} {(Lit_Other '=')} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name 
'$try_normal_branch'
                                                                      )
                                                                    )
                                                                  }
                                                                )
                                                                (BraceGroup
                                                                  children: [
                                                                    (Sentence
                                                                      child: 
                                                                        (AndOr
                                                                          children: [
                                                                            (C {(test)} 
                                                                              {
                                                                                (DQ 
                                                                                  ($ VSub_Name '$len')
                                                                                )
                                                                              } {(-lt)} {(DQ ($ VSub_Name '$max_cmd_len'))}
                                                                            )
                                                                            (C {(test)} 
                                                                              {
                                                                                (DQ 
                                                                                  ($ VSub_Name 
'$max_cmd_len'
                                                                                  )
                                                                                )
                                                                              } {(-le)} {(-1)}
                                                                            )
                                                                          ]
                                                                          op_id: Op_DPipe
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  spids: [49659]
                                                                )
                                                              ]
                                                              op_id: Op_DAmp
                                                            )
                                                          ]
                                                          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: [49705]
                                                                )
                                                              ]
                                                              spids: [49705]
                                                            )
                                                          ]
                                                          spids: [-1 49691]
                                                        )
                                                        (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: [49730]
                                                                )
                                                              ]
                                                              spids: [49730]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:save_libobjs)
                                                                  op: Equal
                                                                  rhs: {($ VSub_Name '$libobjs')}
                                                                  spids: [49734]
                                                                )
                                                              ]
                                                              spids: [49734]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:save_output)
                                                                  op: Equal
                                                                  rhs: {($ VSub_Name '$output')}
                                                                  spids: [49738]
                                                                )
                                                              ]
                                                              spids: [49738]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:output)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {($ VSub_Name '$output_objdir') 
                                                                      (/) ($ VSub_Name '$output_la') (.nm)
                                                                    }
                                                                  spids: [49742]
                                                                )
                                                              ]
                                                              spids: [49742]
                                                            )
                                                            (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: [49756]
                                                                )
                                                              ]
                                                              spids: [49756]
                                                            )
                                                            (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: False
                                                              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: [49790 49807]
                                                                )
                                                              redirects: [
                                                                (Redir
                                                                  op_id: Redir_Great
                                                                  fd: -1
                                                                  arg_word: 
                                                                    {(DQ ($ VSub_Name '$output'))}
                                                                  spids: [49809]
                                                                )
                                                              ]
                                                              spids: [49786 49788]
                                                            )
                                                            (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: [49835]
                                                                )
                                                              ]
                                                              spids: [49835]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:libobjs)
                                                                  op: Equal
                                                                  rhs: {($ VSub_Name '$save_libobjs')}
                                                                  spids: [49839]
                                                                )
                                                              ]
                                                              spids: [49839]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:skipped_export)
                                                                  op: Equal
                                                                  rhs: {(false)}
                                                                  spids: [49843]
                                                                )
                                                              ]
                                                              spids: [49843]
                                                            )
                                                          ]
                                                          spids: [49709 49720]
                                                        )
                                                      ]
                                                      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: [49861]
                                                            )
                                                          ]
                                                          spids: [49861]
                                                        )
                                                        (ControlFlow
                                                          token: <ControlFlow_Break break>
                                                        )
                                                      ]
                                                      spids: [49847 49876]
                                                    )
                                                  ]
                                                  spids: [49561 49879]
                                                )
                                              spids: [49557 49559]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:IFS)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$save_ifs')}
                                                  spids: [49882]
                                                )
                                              ]
                                              spids: [49882]
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (AndOr
                                                          children: [
                                                            (C {(test)} {(-n)} 
                                                              {
                                                                (DQ 
                                                                  ($ VSub_Name 
'$export_symbols_regex'
                                                                  )
                                                                )
                                                              }
                                                            )
                                                            (C {(test)} {(Lit_Other ':')} 
                                                              {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$skipped_export'))}
                                                            )
                                                          ]
                                                          op_id: Op_DAmp
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_show_eval)} 
                                                      {
                                                        (SQ 
                                                          <
'$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
                                                          >
                                                        )
                                                      }
                                                    )
                                                    (C {(func_show_eval)} 
                                                      {
                                                        (SQ 
                                                          <
'$MV "${export_symbols}T" "$export_symbols"'
                                                          >
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [-1 49910]
                                                )
                                              ]
                                              spids: [-1 49927]
                                            )
                                          ]
                                          spids: [-1 49510]
                                        )
                                      ]
                                      spids: [-1 49930]
                                    )
                                  ]
                                  spids: [-1 49484]
                                )
                              ]
                              spids: [-1 49933]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$export_symbols'))})
                                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$include_expsyms'))})
                                          ]
                                          op_id: Op_DAmp
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_export_symbols)
                                          op: Equal
                                          rhs: {($ VSub_Name '$export_symbols')}
                                          spids: [49961]
                                        )
                                      ]
                                      spids: [49961]
                                    )
                                    (AndOr
                                      children: [
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$orig_export_symbols'))})
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:tmp_export_symbols)
                                              op: Equal
                                              rhs: {($ VSub_Name '$orig_export_symbols')}
                                              spids: [49975]
                                            )
                                          ]
                                          spids: [49975]
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                    (AndOr
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (C {(eval)} 
                                          {
                                            (SQ 
                                              <
'$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
                                              >
                                            )
                                          }
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                  ]
                                  spids: [-1 49958]
                                )
                              ]
                              spids: [-1 49990]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} {(Lit_Other ':')} 
                                              {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$skipped_export'))}
                                            )
                                            (C {(test)} {(-n)} 
                                              {(DQ ($ VSub_Name '$orig_export_symbols'))}
                                            )
                                          ]
                                          op_id: Op_DAmp
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_verbose)} 
                                      {
                                        (DQ ("filter symbol list for '") ($ VSub_Name '$libname') 
                                          (".la' to tag DATA exports")
                                        )
                                      }
                                    )
                                    (AndOr
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (SimpleCommand
                                          words: [
                                            {($ VSub_Name '$SED')}
                                            {(-e)}
                                            {
                                              (SQ 
                                                <
'/[ ,]DATA/!d;s,\\(.*\\)\\([ \\,].*\\),s|^\\1$|\\1\\2|,'
                                                >
                                              )
                                            }
                                          ]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Less
                                              fd: -1
                                              arg_word: {($ VSub_Name '$export_symbols')}
                                              spids: [50066]
                                            )
                                            (Redir
                                              op_id: Redir_Great
                                              fd: -1
                                              arg_word: 
                                                {($ VSub_Name '$output_objdir') (/) 
                                                  ($ VSub_Name '$libname') (.filter)
                                                }
                                              spids: [50070]
                                            )
                                          ]
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                    (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: [50093]
                                        )
                                      ]
                                      spids: [50093]
                                    )
                                    (AndOr
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (SimpleCommand
                                          words: [
                                            {($ VSub_Name '$SED')}
                                            {(-f)}
                                            {($ VSub_Name '$output_objdir') (/) 
                                              ($ VSub_Name '$libname') (.filter)
                                            }
                                          ]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Less
                                              fd: -1
                                              arg_word: {($ VSub_Name '$orig_export_symbols')}
                                              spids: [50113]
                                            )
                                            (Redir
                                              op_id: Redir_Great
                                              fd: -1
                                              arg_word: {($ VSub_Name '$export_symbols')}
                                              spids: [50117]
                                            )
                                          ]
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                  ]
                                  spids: [-1 50018]
                                )
                              ]
                              spids: [-1 50122]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:tmp_deplibs)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [50126]
                                )
                              ]
                              spids: [50126]
                            )
                            (ForEach
                              iter_name: test_deplib
                              iter_words: [{($ VSub_Name '$deplibs')}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Case
                                      to_match: {(DQ (' ') ($ VSub_Name '$convenience') (' '))}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') 
                                              (DQ (' ') ($ VSub_Name '$test_deplib') (' ')) (Lit_Other '*')
                                            }
                                          ]
                                          spids: [50152 50159 50161 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_append)} {(tmp_deplibs)} 
                                              {(DQ (' ') ($ VSub_Name '$test_deplib'))}
                                            )
                                          ]
                                          spids: [50164 50165 50178 -1]
                                        )
                                      ]
                                      spids: [50141 50149 50181]
                                    )
                                  ]
                                  spids: [50138 50184]
                                )
                              spids: [50134 50136]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$tmp_deplibs')}
                                  spids: [50187]
                                )
                              ]
                              spids: [50187]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$convenience'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$whole_archive_flag_spec'))}
                                                    )
                                                    (AndOr
                                                      children: [
                                                        (C {(test)} {(yes)} {(Lit_Other '=')} 
                                                          {
                                                            (DQ 
                                                              ($ VSub_Name '$compiler_needs_object')
                                                            )
                                                          }
                                                        )
                                                        (C {(test)} {(-z)} 
                                                          {(DQ ($ VSub_Name '$libobjs'))}
                                                        )
                                                      ]
                                                      op_id: Op_DAmp
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:whole_archive_flag_spec)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [50252]
                                                )
                                              ]
                                              spids: [50252]
                                            )
                                          ]
                                          spids: [-1 50241]
                                        )
                                      ]
                                      spids: [-1 50255]
                                    )
                                    (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: [50272]
                                                )
                                              ]
                                              spids: [50272]
                                            )
                                            (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
                                              children: [
                                                (C {(test)} {(DQ (X) ($ VSub_Name '$libobjs'))} 
                                                  {(Lit_Other '=')} {(DQ ('X '))}
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:libobjs)
                                                      op: Equal
                                                      rhs: {(SQ )}
                                                      spids: [50302]
                                                    )
                                                  ]
                                                  spids: [50302]
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          ]
                                          spids: [-1 50269]
                                        )
                                      ]
                                      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: [50308]
                                            )
                                          ]
                                          spids: [50308]
                                        )
                                        (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
                                          children: [
                                            (C {(test)} {(DQ (X) ($ VSub_Name '$libobjs'))} 
                                              {(Lit_Other '=')} {(DQ ('X '))}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:libobjs)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [50360]
                                                )
                                              ]
                                              spids: [50360]
                                            )
                                          ]
                                          op_id: Op_DAmp
                                        )
                                      ]
                                      spids: [50305 50363]
                                    )
                                  ]
                                  spids: [-1 50203]
                                )
                              ]
                              spids: [-1 50366]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} {(yes)} {(Lit_Other '=')} 
                                              {(DQ ($ VSub_Name '$thread_safe'))}
                                            )
                                            (C {(test)} {(-n)} 
                                              {(DQ ($ VSub_Name '$thread_safe_flag_spec'))}
                                            )
                                          ]
                                          op_id: Op_DAmp
                                        )
                                      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: [-1 50393]
                                )
                              ]
                              spids: [-1 50414]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(relink)} {(Lit_Other '=')} 
                                          {(DQ ($ VSub_Name '$opt_mode'))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (AndOr
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (AndOr
                                          children: [
                                            (C {(eval)} 
                                              {
                                                (SQ 
                                                  <
'(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)'
                                                  >
                                                )
                                              }
                                            )
                                            (C {(exit)} {($ VSub_QMark '$?')})
                                          ]
                                          op_id: Op_DPipe
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                  ]
                                  spids: [-1 50435]
                                )
                              ]
                              spids: [-1 50455]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} {(yes)} {(Lit_Other '=')} 
                                              {(DQ ($ VSub_Name '$module'))}
                                            )
                                            (C {(test)} {(-n)} {(DQ ($ VSub_Name '$module_cmds'))})
                                          ]
                                          op_id: Op_DAmp
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$export_symbols'))}
                                                    )
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$module_expsym_cmds'))}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(eval)} 
                                              {(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: [50521]
                                                )
                                              ]
                                              spids: [50521]
                                            )
                                          ]
                                          spids: [-1 50510]
                                        )
                                      ]
                                      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: [50536]
                                            )
                                          ]
                                          spids: [50536]
                                        )
                                      ]
                                      spids: [50525 50540]
                                    )
                                  ]
                                  spids: [-1 50486]
                                )
                              ]
                              else_action: [
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (AndOr
                                              children: [
                                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$export_symbols'))})
                                                (C {(test)} {(-n)} 
                                                  {(DQ ($ VSub_Name '$archive_expsym_cmds'))}
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C {(eval)} 
                                          {(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: [50578]
                                            )
                                          ]
                                          spids: [50578]
                                        )
                                      ]
                                      spids: [-1 50567]
                                    )
                                  ]
                                  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: [50593]
                                        )
                                      ]
                                      spids: [50593]
                                    )
                                  ]
                                  spids: [50582 50597]
                                )
                              ]
                              spids: [50543 50600]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} {(Lit_Other ':')} 
                                              {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$skipped_export'))}
                                            )
                                            (AndOr
                                              children: [
                                                (C {(func_len)} {(DQ (' ') ($ VSub_Name '$test_cmds'))})
                                                (AndOr
                                                  children: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:len)
                                                          op: Equal
                                                          rhs: {($ VSub_Name '$func_len_result')}
                                                          spids: [50630]
                                                        )
                                                      ]
                                                      spids: [50630]
                                                    )
                                                    (AndOr
                                                      children: [
                                                        (C {(test)} {(DQ ($ VSub_Name '$len'))} {(-lt)} 
                                                          {(DQ ($ VSub_Name '$max_cmd_len'))}
                                                        )
                                                        (C {(test)} {(DQ ($ VSub_Name '$max_cmd_len'))} 
                                                          {(-le)} {(-1)}
                                                        )
                                                      ]
                                                      op_id: Op_DPipe
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          ]
                                          op_id: Op_DAmp
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [(C {(Lit_Other ':')})]
                                  spids: [-1 50661]
                                )
                              ]
                              else_action: [
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (AndOr
                                              children: [
                                                (C {(test)} {(-z)} {(DQ ($ VSub_Name '$convenience'))})
                                                (C {(test)} {(-z)} 
                                                  {(DQ ($ VSub_Name '$whole_archive_flag_spec'))}
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:save_libobjs)
                                              op: Equal
                                              rhs: {($ VSub_Name '$libobjs')}
                                              spids: [50739]
                                            )
                                          ]
                                          spids: [50739]
                                        )
                                      ]
                                      spids: [-1 50736]
                                    )
                                  ]
                                  spids: [-1 50743]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:save_output)
                                      op: Equal
                                      rhs: {($ VSub_Name '$output')}
                                      spids: [50746]
                                    )
                                  ]
                                  spids: [50746]
                                )
                                (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: [50757]
                                    )
                                  ]
                                  spids: [50757]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:test_cmds)
                                      op: Equal
                                      rhs: {(SQ )}
                                      spids: [50770]
                                    )
                                  ]
                                  spids: [50770]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:concat_cmds)
                                      op: Equal
                                      rhs: {(SQ )}
                                      spids: [50773]
                                    )
                                  ]
                                  spids: [50773]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:objlist)
                                      op: Equal
                                      rhs: {(SQ )}
                                      spids: [50776]
                                    )
                                  ]
                                  spids: [50776]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:last_robj)
                                      op: Equal
                                      rhs: {(SQ )}
                                      spids: [50779]
                                    )
                                  ]
                                  spids: [50779]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:k)
                                      op: Equal
                                      rhs: {(1)}
                                      spids: [50782]
                                    )
                                  ]
                                  spids: [50782]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (AndOr
                                              children: [
                                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$save_libobjs'))})
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(Lit_Other ':')} 
                                                      {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$skipped_export'))}
                                                    )
                                                    (C {(test)} {(yes)} {(Lit_Other '=')} 
                                                      {(DQ ($ VSub_Name '$with_gnu_ld'))}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:output)
                                              op: Equal
                                              rhs: 
                                                {($ VSub_Name '$output_objdir') (/) 
                                                  ($ VSub_Name '$output_la') (.lnkscript)
                                                }
                                              spids: [50826]
                                            )
                                          ]
                                          spids: [50826]
                                        )
                                        (C {(func_verbose)} 
                                          {(DQ ('creating GNU ld script: ') ($ VSub_Name '$output'))}
                                        )
                                        (SimpleCommand
                                          words: [{(echo)} {(SQ <'INPUT ('>)}]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Great
                                              fd: -1
                                              arg_word: {($ VSub_Name '$output')}
                                              spids: [50847]
                                            )
                                          ]
                                        )
                                        (ForEach
                                          iter_name: obj
                                          iter_words: [{($ VSub_Name '$save_libobjs')}]
                                          do_arg_iter: False
                                          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: -1
                                                      arg_word: {($ VSub_Name '$output')}
                                                      spids: [50877]
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [50861 50882]
                                            )
                                          spids: [50857 -1]
                                        )
                                        (SimpleCommand
                                          words: [{(echo)} {(SQ <')'>)}]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_DGreat
                                              fd: -1
                                              arg_word: {($ VSub_Name '$output')}
                                              spids: [50891]
                                            )
                                          ]
                                        )
                                        (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: [50913]
                                            )
                                          ]
                                          spids: [50913]
                                        )
                                      ]
                                      spids: [-1 50823]
                                    )
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (AndOr
                                              children: [
                                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$save_libobjs'))})
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(Lit_Other ':')} 
                                                      {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$skipped_export'))}
                                                    )
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$file_list_spec'))}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:output)
                                              op: Equal
                                              rhs: 
                                                {($ VSub_Name '$output_objdir') (/) 
                                                  ($ VSub_Name '$output_la') (.lnk)
                                                }
                                              spids: [50954]
                                            )
                                          ]
                                          spids: [50954]
                                        )
                                        (C {(func_verbose)} 
                                          {
                                            (DQ ('creating linker input file list: ') 
                                              ($ VSub_Name '$output')
                                            )
                                          }
                                        )
                                        (SimpleCommand
                                          words: [{(Lit_Other ':')}]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Great
                                              fd: -1
                                              arg_word: {($ VSub_Name '$output')}
                                              spids: [50971]
                                            )
                                          ]
                                        )
                                        (C {(set)} {(x)} {($ VSub_Name '$save_libobjs')})
                                        (C {(shift)})
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:firstobj)
                                              op: Equal
                                              rhs: {(SQ )}
                                              spids: [50986]
                                            )
                                          ]
                                          spids: [50986]
                                        )
                                        (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: [51005]
                                                    )
                                                  ]
                                                  spids: [51005]
                                                )
                                                (C {(shift)})
                                              ]
                                              spids: [-1 51002]
                                            )
                                          ]
                                          spids: [-1 51015]
                                        )
                                        (ForEach
                                          iter_name: obj
                                          do_arg_iter: True
                                          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: -1
                                                      arg_word: {($ VSub_Name '$output')}
                                                      spids: [51039]
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [51023 51044]
                                            )
                                          spids: [-1 -1]
                                        )
                                        (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: [51064]
                                            )
                                          ]
                                          spids: [51064]
                                        )
                                      ]
                                      spids: [50917 50951]
                                    )
                                  ]
                                  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: [51096]
                                                )
                                              ]
                                              spids: [51096]
                                            )
                                            (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: [51122]
                                                )
                                              ]
                                              spids: [51122]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:len)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$len0')}
                                                  spids: [51126]
                                                )
                                              ]
                                              spids: [51126]
                                            )
                                            (ForEach
                                              iter_name: obj
                                              iter_words: [{($ VSub_Name '$save_libobjs')}]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (C {(func_len)} {(DQ (' ') ($ VSub_Name '$obj'))})
                                                    (C {(func_arith)} {($ VSub_Name '$len')} 
                                                      {(Lit_Other '+')} {($ VSub_Name '$func_len_result')}
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:len)
                                                          op: Equal
                                                          rhs: {($ VSub_Name '$func_arith_result')}
                                                          spids: [51164]
                                                        )
                                                      ]
                                                      spids: [51164]
                                                    )
                                                    (If
                                                      arms: [
                                                        (if_arm
                                                          cond: [
                                                            (Sentence
                                                              child: 
                                                                (AndOr
                                                                  children: [
                                                                    (C {(test)} {(-z)} 
                                                                      {(DQ ($ VSub_Name '$objlist'))}
                                                                    )
                                                                    (C {(test)} 
                                                                      {(DQ ($ VSub_Name '$len'))} {(-lt)} {(DQ ($ VSub_Name '$max_cmd_len'))}
                                                                    )
                                                                  ]
                                                                  op_id: Op_DPipe
                                                                )
                                                              terminator: <Op_Semi ';'>
                                                            )
                                                          ]
                                                          action: [
                                                            (C {(func_append)} {(objlist)} 
                                                              {(DQ (' ') ($ VSub_Name '$obj'))}
                                                            )
                                                          ]
                                                          spids: [-1 51194]
                                                        )
                                                      ]
                                                      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: [51238]
                                                                    )
                                                                  ]
                                                                  spids: [51238]
                                                                )
                                                                (C {(eval)} 
                                                                  {(Lit_VarLike 'concat_cmds=') 
                                                                    (EscapedLiteralPart
                                                                      token: <Lit_EscapedChar '\\"'>
                                                                    ) ($ VSub_Name '$reload_cmds') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                                  }
                                                                )
                                                              ]
                                                              spids: [-1 51231]
                                                            )
                                                          ]
                                                          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: [51261]
                                                                )
                                                              ]
                                                              spids: [51261]
                                                            )
                                                            (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: [51250 51285]
                                                        )
                                                        (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: [51288]
                                                            )
                                                          ]
                                                          spids: [51288]
                                                        )
                                                        (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: [51307]
                                                            )
                                                          ]
                                                          spids: [51307]
                                                        )
                                                        (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: [51311]
                                                            )
                                                          ]
                                                          spids: [51311]
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:objlist)
                                                              op: Equal
                                                              rhs: {(DQ (' ') ($ VSub_Name '$obj'))}
                                                              spids: [51321]
                                                            )
                                                          ]
                                                          spids: [51321]
                                                        )
                                                        (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: [51345]
                                                            )
                                                          ]
                                                          spids: [51345]
                                                        )
                                                      ]
                                                      spids: [51207 51349]
                                                    )
                                                  ]
                                                  spids: [51144 51352]
                                                )
                                              spids: [51140 -1]
                                            )
                                            (AndOr
                                              children: [
                                                (C {(test)} {(-z)} {(DQ ($ VSub_Name '$concat_cmds'))})
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:concat_cmds)
                                                      op: Equal
                                                      rhs: 
                                                        {($ VSub_Name '$concat_cmds') 
                                                          (Lit_Tilde '~')
                                                        }
                                                      spids: [51377]
                                                    )
                                                  ]
                                                  spids: [51377]
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:reload_objs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name '$objlist') (' ') 
                                                        ($ VSub_Name '$last_robj')
                                                      )
                                                    }
                                                  spids: [51382]
                                                )
                                              ]
                                              spids: [51382]
                                            )
                                            (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: [-1 51411]
                                                )
                                              ]
                                              spids: [-1 51428]
                                            )
                                            (C {(func_append)} {(delfiles)} 
                                              {(DQ (' ') ($ VSub_Name '$output'))}
                                            )
                                          ]
                                          spids: [-1 51086]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:output)
                                              op: Equal
                                              rhs: {(SQ )}
                                              spids: [51445]
                                            )
                                          ]
                                          spids: [51445]
                                        )
                                      ]
                                      spids: [51442 51448]
                                    )
                                    (AndOr
                                      children: [
                                        (C 
                                          {
                                            (BracedVarSub
                                              token: <VSub_Name skipped_export>
                                              suffix_op: 
                                                (StringUnary
                                                  op_id: VTest_Hyphen
                                                  arg_word: {(false)}
                                                )
                                              spids: [51452 51456]
                                            )
                                          }
                                        )
                                        (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: [51472]
                                                )
                                              ]
                                              spids: [51472]
                                            )
                                            (AndOr
                                              children: [
                                                (C {($ VSub_Name '$opt_dry_run')})
                                                (C {($ VSub_Name '$RM')} 
                                                  {($ VSub_Name '$export_symbols')}
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:libobjs)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$output')}
                                                  spids: [51488]
                                                )
                                              ]
                                              spids: [51488]
                                            )
                                            (AndOr
                                              children: [
                                                (C {(test)} {(-z)} {(DQ ($ VSub_Name '$concat_cmds'))})
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:concat_cmds)
                                                      op: Equal
                                                      rhs: 
                                                        {($ VSub_Name '$concat_cmds') 
                                                          (Lit_Tilde '~')
                                                        }
                                                      spids: [51506]
                                                    )
                                                  ]
                                                  spids: [51506]
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                            (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: [-1 51532]
                                                )
                                              ]
                                              spids: [-1 51549]
                                            )
                                          ]
                                          spids: [51460]
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                    (AndOr
                                      children: [
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$save_libobjs'))})
                                        (C {(func_verbose)} 
                                          {
                                            (DQ ('creating a temporary reloadable object file: ') 
                                              ($ VSub_Name '$output')
                                            )
                                          }
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                    (Sentence
                                      child: 
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:save_ifs)
                                              op: Equal
                                              rhs: {($ VSub_Name '$IFS')}
                                              spids: [51580]
                                            )
                                          ]
                                          spids: [51580]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {(SQ <'~'>)}
                                          spids: [51584]
                                        )
                                      ]
                                      spids: [51584]
                                    )
                                    (ForEach
                                      iter_name: cmd
                                      iter_words: [{($ VSub_Name '$concat_cmds')}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:IFS)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$save_ifs')}
                                                  spids: [51602]
                                                )
                                              ]
                                              spids: [51602]
                                            )
                                            (AndOr
                                              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: [51610]
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                            (AndOr
                                              children: [
                                                (C {($ VSub_Name '$opt_dry_run')})
                                                (AndOr
                                                  children: [
                                                    (C {(eval)} {(DQ ($ VSub_Name '$cmd'))})
                                                    (BraceGroup
                                                      children: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:lt_exit)
                                                              op: Equal
                                                              rhs: {($ VSub_QMark '$?')}
                                                              spids: [51646]
                                                            )
                                                          ]
                                                          spids: [51646]
                                                        )
                                                        (If
                                                          arms: [
                                                            (if_arm
                                                              cond: [
                                                                (Sentence
                                                                  child: 
                                                                    (C {(test)} {(relink)} 
                                                                      {(Lit_Other '=')} {(DQ ($ VSub_Name '$opt_mode'))}
                                                                    )
                                                                  terminator: <Op_Semi ';'>
                                                                )
                                                              ]
                                                              action: [
                                                                (Subshell
                                                                  child: 
                                                                    (AndOr
                                                                      children: [
                                                                        (C {(cd)} 
                                                                          {
                                                                            (DQ 
                                                                              ($ VSub_Name 
'$output_objdir'
                                                                              )
                                                                            )
                                                                          }
                                                                        )
                                                                        (AndOr
                                                                          children: [
                                                                            (C {($ VSub_Name '$RM')} 
                                                                              {
                                                                                (DQ 
                                                                                  (${ VSub_Name 
realname
                                                                                  ) (T)
                                                                                )
                                                                              }
                                                                            )
                                                                            (C {($ VSub_Name '$MV')} 
                                                                              {
                                                                                (DQ 
                                                                                  (${ VSub_Name 
realname
                                                                                  ) (U)
                                                                                )
                                                                              } {(DQ ($ VSub_Name '$realname'))}
                                                                            )
                                                                          ]
                                                                          op_id: Op_DAmp
                                                                        )
                                                                      ]
                                                                      op_id: Op_DAmp
                                                                    )
                                                                  spids: [51671 51709]
                                                                )
                                                              ]
                                                              spids: [-1 51668]
                                                            )
                                                          ]
                                                          spids: [-1 51712]
                                                        )
                                                        (C {(exit)} {($ VSub_Name '$lt_exit')})
                                                      ]
                                                      spids: [51643]
                                                    )
                                                  ]
                                                  op_id: Op_DPipe
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          spids: [51599 51724]
                                        )
                                      spids: [51595 51597]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {($ VSub_Name '$save_ifs')}
                                          spids: [51727]
                                        )
                                      ]
                                      spids: [51727]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$export_symbols_regex'))}
                                                    )
                                                    (C 
                                                      {
                                                        (BracedVarSub
                                                          token: <VSub_Name skipped_export>
                                                          suffix_op: 
                                                            (StringUnary
                                                              op_id: VTest_Hyphen
                                                              arg_word: {(false)}
                                                            )
                                                          spids: [51744 51748]
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_show_eval)} 
                                              {
                                                (SQ 
                                                  <
'$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
                                                  >
                                                )
                                              }
                                            )
                                            (C {(func_show_eval)} 
                                              {(SQ <'$MV "${export_symbols}T" "$export_symbols"'>)}
                                            )
                                          ]
                                          spids: [-1 51751]
                                        )
                                      ]
                                      spids: [-1 51768]
                                    )
                                  ]
                                  spids: [51072 51771]
                                )
                                (AndOr
                                  children: [
                                    (C 
                                      {
                                        (BracedVarSub
                                          token: <VSub_Name skipped_export>
                                          suffix_op: 
                                            (StringUnary
                                              op_id: VTest_Hyphen
                                              arg_word: {(false)}
                                            )
                                          spids: [51775 51779]
                                        )
                                      }
                                    )
                                    (BraceGroup
                                      children: [
                                        (If
                                          arms: [
                                            (if_arm
                                              cond: [
                                                (Sentence
                                                  child: 
                                                    (AndOr
                                                      children: [
                                                        (C {(test)} {(-n)} 
                                                          {(DQ ($ VSub_Name '$export_symbols'))}
                                                        )
                                                        (C {(test)} {(-n)} 
                                                          {(DQ ($ VSub_Name '$include_expsyms'))}
                                                        )
                                                      ]
                                                      op_id: Op_DAmp
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:tmp_export_symbols)
                                                      op: Equal
                                                      rhs: {($ VSub_Name '$export_symbols')}
                                                      spids: [51810]
                                                    )
                                                  ]
                                                  spids: [51810]
                                                )
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$orig_export_symbols'))}
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:tmp_export_symbols)
                                                          op: Equal
                                                          rhs: {($ VSub_Name '$orig_export_symbols')}
                                                          spids: [51824]
                                                        )
                                                      ]
                                                      spids: [51824]
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                                (AndOr
                                                  children: [
                                                    (C {($ VSub_Name '$opt_dry_run')})
                                                    (C {(eval)} 
                                                      {
                                                        (SQ 
                                                          <
'$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
                                                          >
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  op_id: Op_DPipe
                                                )
                                              ]
                                              spids: [-1 51807]
                                            )
                                          ]
                                          spids: [-1 51839]
                                        )
                                        (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
                                                  children: [
                                                    (C {($ VSub_Name '$opt_dry_run')})
                                                    (SimpleCommand
                                                      words: [
                                                        {($ VSub_Name '$SED')}
                                                        {(-e)}
                                                        {
                                                          (SQ 
                                                            <
'/[ ,]DATA/!d;s,\\(.*\\)\\([ \\,].*\\),s|^\\1$|\\1\\2|,'
                                                            >
                                                          )
                                                        }
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_Less
                                                          fd: -1
                                                          arg_word: {($ VSub_Name '$export_symbols')}
                                                          spids: [51902]
                                                        )
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: -1
                                                          arg_word: 
                                                            {($ VSub_Name '$output_objdir') (/) 
                                                              ($ VSub_Name '$libname') (.filter)
                                                            }
                                                          spids: [51906]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  op_id: Op_DPipe
                                                )
                                                (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: [51929]
                                                    )
                                                  ]
                                                  spids: [51929]
                                                )
                                                (AndOr
                                                  children: [
                                                    (C {($ VSub_Name '$opt_dry_run')})
                                                    (SimpleCommand
                                                      words: [
                                                        {($ VSub_Name '$SED')}
                                                        {(-f)}
                                                        {($ VSub_Name '$output_objdir') (/) 
                                                          ($ VSub_Name '$libname') (.filter)
                                                        }
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_Less
                                                          fd: -1
                                                          arg_word: 
                                                            {($ VSub_Name '$orig_export_symbols')}
                                                          spids: [51949]
                                                        )
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: -1
                                                          arg_word: {($ VSub_Name '$export_symbols')}
                                                          spids: [51953]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  op_id: Op_DPipe
                                                )
                                              ]
                                              spids: [-1 51854]
                                            )
                                          ]
                                          spids: [-1 51958]
                                        )
                                      ]
                                      spids: [51783]
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:libobjs)
                                      op: Equal
                                      rhs: {($ VSub_Name '$output')}
                                      spids: [51965]
                                    )
                                  ]
                                  spids: [51965]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:output)
                                      op: Equal
                                      rhs: {($ VSub_Name '$save_output')}
                                      spids: [51973]
                                    )
                                  ]
                                  spids: [51973]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (AndOr
                                              children: [
                                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$convenience'))})
                                                (C {(test)} {(-n)} 
                                                  {(DQ ($ VSub_Name '$whole_archive_flag_spec'))}
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C {(eval)} 
                                          {(Lit_VarLike 'libobjs=') 
                                            (EscapedLiteralPart
                                              token: <Lit_EscapedChar '\\"'>
                                            ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (libobjs)
                                          } {($ VSub_Name '$whole_archive_flag_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)}
                                        )
                                        (AndOr
                                          children: [
                                            (C {(test)} {(DQ (X) ($ VSub_Name '$libobjs'))} 
                                              {(Lit_Other '=')} {(DQ ('X '))}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:libobjs)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [52028]
                                                )
                                              ]
                                              spids: [52028]
                                            )
                                          ]
                                          op_id: Op_DAmp
                                        )
                                      ]
                                      spids: [-1 51999]
                                    )
                                  ]
                                  spids: [-1 52031]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (AndOr
                                              children: [
                                                (C {(test)} {(yes)} {(Lit_Other '=')} 
                                                  {(DQ ($ VSub_Name '$module'))}
                                                )
                                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$module_cmds'))})
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (If
                                          arms: [
                                            (if_arm
                                              cond: [
                                                (Sentence
                                                  child: 
                                                    (AndOr
                                                      children: [
                                                        (C {(test)} {(-n)} 
                                                          {(DQ ($ VSub_Name '$export_symbols'))}
                                                        )
                                                        (C {(test)} {(-n)} 
                                                          {(DQ ($ VSub_Name '$module_expsym_cmds'))}
                                                        )
                                                      ]
                                                      op_id: Op_DAmp
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:cmds)
                                                      op: Equal
                                                      rhs: {($ VSub_Name '$module_expsym_cmds')}
                                                      spids: [52097]
                                                    )
                                                  ]
                                                  spids: [52097]
                                                )
                                              ]
                                              spids: [-1 52094]
                                            )
                                          ]
                                          else_action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:cmds)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$module_cmds')}
                                                  spids: [52104]
                                                )
                                              ]
                                              spids: [52104]
                                            )
                                          ]
                                          spids: [52101 52108]
                                        )
                                      ]
                                      spids: [-1 52070]
                                    )
                                  ]
                                  else_action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$export_symbols'))}
                                                    )
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$archive_expsym_cmds'))}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:cmds)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$archive_expsym_cmds')}
                                                  spids: [52138]
                                                )
                                              ]
                                              spids: [52138]
                                            )
                                          ]
                                          spids: [-1 52135]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:cmds)
                                              op: Equal
                                              rhs: {($ VSub_Name '$archive_cmds')}
                                              spids: [52145]
                                            )
                                          ]
                                          spids: [52145]
                                        )
                                      ]
                                      spids: [52142 52149]
                                    )
                                  ]
                                  spids: [52111 52152]
                                )
                              ]
                              spids: [50667 52155]
                            )
                            (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: [-1 52170]
                                )
                              ]
                              spids: [-1 52191]
                            )
                            (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: [52213]
                                        )
                                      ]
                                      spids: [52213]
                                    )
                                    (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
                                      children: [
                                        (C {(test)} {(DQ (X) ($ VSub_Name '$libobjs'))} 
                                          {(Lit_Other '=')} {(DQ ('X '))}
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:libobjs)
                                              op: Equal
                                              rhs: {(SQ )}
                                              spids: [52265]
                                            )
                                          ]
                                          spids: [52265]
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                  ]
                                  spids: [-1 52210]
                                )
                              ]
                              spids: [-1 52268]
                            )
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:save_ifs)
                                      op: Equal
                                      rhs: {($ VSub_Name '$IFS')}
                                      spids: [52272]
                                    )
                                  ]
                                  spids: [52272]
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(SQ <'~'>)}
                                  spids: [52276]
                                )
                              ]
                              spids: [52276]
                            )
                            (ForEach
                              iter_name: cmd
                              iter_words: [{($ VSub_Name '$cmds')}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {($ VSub_Name '$sp') ($ VSub_Name '$nl')}
                                          spids: [52294]
                                        )
                                      ]
                                      spids: [52294]
                                    )
                                    (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: [52307]
                                        )
                                      ]
                                      spids: [52307]
                                    )
                                    (AndOr
                                      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: [52315]
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                    (AndOr
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (AndOr
                                          children: [
                                            (C {(eval)} {(DQ ($ VSub_Name '$cmd'))})
                                            (BraceGroup
                                              children: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:lt_exit)
                                                      op: Equal
                                                      rhs: {($ VSub_QMark '$?')}
                                                      spids: [52351]
                                                    )
                                                  ]
                                                  spids: [52351]
                                                )
                                                (If
                                                  arms: [
                                                    (if_arm
                                                      cond: [
                                                        (Sentence
                                                          child: 
                                                            (C {(test)} {(relink)} {(Lit_Other '=')} 
                                                              {(DQ ($ VSub_Name '$opt_mode'))}
                                                            )
                                                          terminator: <Op_Semi ';'>
                                                        )
                                                      ]
                                                      action: [
                                                        (Subshell
                                                          child: 
                                                            (AndOr
                                                              children: [
                                                                (C {(cd)} 
                                                                  {
                                                                    (DQ 
                                                                      ($ VSub_Name '$output_objdir')
                                                                    )
                                                                  }
                                                                )
                                                                (AndOr
                                                                  children: [
                                                                    (C {($ VSub_Name '$RM')} 
                                                                      {
                                                                        (DQ (${ VSub_Name realname) 
                                                                          (T)
                                                                        )
                                                                      }
                                                                    )
                                                                    (C {($ VSub_Name '$MV')} 
                                                                      {
                                                                        (DQ (${ VSub_Name realname) 
                                                                          (U)
                                                                        )
                                                                      } {(DQ ($ VSub_Name '$realname'))}
                                                                    )
                                                                  ]
                                                                  op_id: Op_DAmp
                                                                )
                                                              ]
                                                              op_id: Op_DAmp
                                                            )
                                                          spids: [52376 52414]
                                                        )
                                                      ]
                                                      spids: [-1 52373]
                                                    )
                                                  ]
                                                  spids: [-1 52417]
                                                )
                                                (C {(exit)} {($ VSub_Name '$lt_exit')})
                                              ]
                                              spids: [52348]
                                            )
                                          ]
                                          op_id: Op_DPipe
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                  ]
                                  spids: [52291 52429]
                                )
                              spids: [52287 52289]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {($ VSub_Name '$save_ifs')}
                                  spids: [52432]
                                )
                              ]
                              spids: [52432]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(relink)} {(Lit_Other '=')} 
                                          {(DQ ($ VSub_Name '$opt_mode'))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (AndOr
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (AndOr
                                          children: [
                                            (C {(eval)} 
                                              {
                                                (SQ 
                                                  <
'(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)'
                                                  >
                                                )
                                              }
                                            )
                                            (C {(exit)} {($ VSub_QMark '$?')})
                                          ]
                                          op_id: Op_DPipe
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$convenience'))})
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-z)} 
                                                          {
                                                            (DQ 
                                                              ($ VSub_Name '$whole_archive_flag_spec')
                                                            )
                                                          }
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_show_eval)} {(SQ <'${RM}r "$gentop"'>)})
                                                  ]
                                                  spids: [-1 52500]
                                                )
                                              ]
                                              spids: [-1 52510]
                                            )
                                          ]
                                          spids: [-1 52486]
                                        )
                                      ]
                                      spids: [-1 52513]
                                    )
                                    (C {(exit)} {($ VSub_Name '$EXIT_SUCCESS')})
                                  ]
                                  spids: [-1 52454]
                                )
                              ]
                              spids: [-1 52522]
                            )
                            (ForEach
                              iter_name: linkname
                              iter_words: [{($ VSub_Name '$linknames')}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Name '$realname'))} 
                                                  {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$linkname'))}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_show_eval)} 
                                              {
                                                (SQ 
                                                  <
'(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")'
                                                  >
                                                )
                                              } {(SQ <'exit $?'>)}
                                            )
                                          ]
                                          spids: [-1 52558]
                                        )
                                      ]
                                      spids: [-1 52572]
                                    )
                                  ]
                                  spids: [52539 52575]
                                )
                              spids: [52535 52537]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} {(yes)} {(Lit_Other '=')} 
                                              {(DQ ($ VSub_Name '$module'))}
                                            )
                                            (C {(test)} {(yes)} {(Lit_Other '=')} 
                                              {(DQ ($ VSub_Name '$export_dynamic'))}
                                            )
                                          ]
                                          op_id: Op_DPipe
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dlname)
                                          op: Equal
                                          rhs: {($ VSub_Name '$soname')}
                                          spids: [52615]
                                        )
                                      ]
                                      spids: [52615]
                                    )
                                  ]
                                  spids: [-1 52608]
                                )
                              ]
                              spids: [-1 52619]
                            )
                          ]
                          spids: [-1 48632]
                        )
                      ]
                      spids: [-1 52622]
                    )
                  ]
                  spids: [43007 43008 52625 -1]
                )
                (case_arm
                  pat_list: [{(obj)}]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (C {(test)} {(-n)} 
                                      {(DQ ($ VSub_Name '$dlfiles') ($ VSub_Name '$dlprefiles'))}
                                    )
                                    (C {(test)} {(no)} {(KW_Bang '!') (Lit_Other '=')} 
                                      {(DQ ($ VSub_Name '$dlself'))}
                                    )
                                  ]
                                  op_id: Op_DPipe
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(func_warning)} {(DQ ("'-dlopen' is ignored for objects"))})]
                          spids: [-1 52658]
                        )
                      ]
                      spids: [-1 52668]
                    )
                    (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: [52682 52693 52702 -1]
                        )
                      ]
                      spids: [52672 52679 52705]
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$rpath'))})
                        (C {(func_warning)} {(DQ ("'-rpath' is ignored for objects"))})
                      ]
                      op_id: Op_DAmp
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$xrpath'))})
                        (C {(func_warning)} {(DQ ("'-R' is ignored for objects"))})
                      ]
                      op_id: Op_DAmp
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$vinfo'))})
                        (C {(func_warning)} {(DQ ("'-version-info' is ignored for objects"))})
                      ]
                      op_id: Op_DAmp
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$release'))})
                        (C {(func_warning)} {(DQ ("'-release' is ignored for objects"))})
                      ]
                      op_id: Op_DAmp
                    )
                    (Case
                      to_match: {($ VSub_Name '$output')}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.lo)}]
                          action: [
                            (AndOr
                              children: [
                                (C {(test)} {(-n)} 
                                  {(DQ ($ VSub_Name '$objs') ($ VSub_Name '$old_deplibs'))}
                                )
                                (C {(func_fatal_error)} 
                                  {
                                    (DQ ("cannot build library object '") ($ VSub_Name '$output') 
                                      ("' from non-libtool objects")
                                    )
                                  }
                                )
                              ]
                              op_id: Op_DAmp
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libobj)
                                  op: Equal
                                  rhs: {($ VSub_Name '$output')}
                                  spids: [52824]
                                )
                              ]
                              spids: [52824]
                            )
                            (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: [52835]
                                )
                              ]
                              spids: [52835]
                            )
                          ]
                          spids: [52796 52798 52839 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libobj)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [52846]
                                )
                              ]
                              spids: [52846]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:obj)
                                  op: Equal
                                  rhs: {($ VSub_Name '$output')}
                                  spids: [52849]
                                )
                              ]
                              spids: [52849]
                            )
                          ]
                          spids: [52842 52843 52853 -1]
                        )
                      ]
                      spids: [52789 52793 52856]
                    )
                    (AndOr
                      children: [
                        (C {($ VSub_Name '$opt_dry_run')})
                        (C {($ VSub_Name '$RM')} {($ VSub_Name '$obj')} {($ VSub_Name '$libobj')})
                      ]
                      op_id: Op_DPipe
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:reload_conv_objs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [52892]
                        )
                      ]
                      spids: [52892]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:gentop)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [52895]
                        )
                      ]
                      spids: [52895]
                    )
                    (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: {(SQ )}
                                  spids: [52927]
                                )
                              ]
                              spids: [52927]
                            )
                          ]
                          spids: [52917 52925 52929 -1]
                        )
                      ]
                      spids: [52910 52914 52932]
                    )
                    (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
                                      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: False
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick '`'>
                                                    spids: [52982 52996]
                                                  )
                                                }
                                              spids: [52981]
                                            )
                                          ]
                                          spids: [52981]
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                    (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: [52999]
                                        )
                                      ]
                                      spids: [52999]
                                    )
                                  ]
                                  spids: [-1 52960]
                                )
                              ]
                              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: [53008]
                                    )
                                  ]
                                  spids: [53008]
                                )
                                (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: [53035]
                                    )
                                  ]
                                  spids: [53035]
                                )
                              ]
                              spids: [53005 53043]
                            )
                          ]
                          spids: [-1 52946]
                        )
                      ]
                      spids: [-1 53046]
                    )
                    (AndOr
                      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: [53066]
                            )
                          ]
                          spids: [53066]
                        )
                      ]
                      op_id: Op_DPipe
                    )
                    (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 (/) 
                                                (EscapedLiteralPart
                                                  token: <Lit_EscapedChar '\\.'>
                                                ) ($ VSub_Name '$libext') (Lit_Other '$') ('/d; /') (EscapedLiteralPart token:<Lit_EscapedChar '\\.'>) 
                                                (lib) (Lit_Other '$') ('/d; ') ($ VSub_Name '$lo2o')
                                              )
                                            }
                                          )
                                          (C {($ VSub_Name '$NL2SP')})
                                        ]
                                        negated: False
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [53081 53112]
                              ) (SQ <' '>) ($ VSub_Name '$reload_conv_objs')
                            }
                          spids: [53075]
                        )
                      ]
                      spids: [53075]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:output)
                          op: Equal
                          rhs: {($ VSub_Name '$obj')}
                          spids: [53120]
                        )
                      ]
                      spids: [53120]
                    )
                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name '$reload_cmds'))} {(SQ <'exit $?'>)})
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-z)} {(DQ ($ VSub_Name '$libobj'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$gentop'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [(C {(func_show_eval)} {(SQ <'${RM}r "$gentop"'>)})]
                                  spids: [-1 53165]
                                )
                              ]
                              spids: [-1 53175]
                            )
                            (C {(exit)} {($ VSub_Name '$EXIT_SUCCESS')})
                          ]
                          spids: [-1 53151]
                        )
                      ]
                      spids: [-1 53184]
                    )
                    (AndOr
                      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: [-1 53214]
                                )
                              ]
                              spids: [-1 53224]
                            )
                            (C {(exit)} {($ VSub_Name '$EXIT_SUCCESS')})
                          ]
                          spids: [53200]
                        )
                      ]
                      op_id: Op_DPipe
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$pic_flag'))})
                                    (C {(test)} {(default)} {(KW_Bang '!') (Lit_Other '=')} 
                                      {(DQ ($ VSub_Name '$pic_mode'))}
                                    )
                                  ]
                                  op_id: Op_DPipe
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:reload_objs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$libobjs') (' ') 
                                        ($ VSub_Name '$reload_conv_objs')
                                      )
                                    }
                                  spids: [53284]
                                )
                              ]
                              spids: [53284]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:output)
                                  op: Equal
                                  rhs: {($ VSub_Name '$libobj')}
                                  spids: [53292]
                                )
                              ]
                              spids: [53292]
                            )
                            (C {(func_execute_cmds)} {(DQ ($ VSub_Name '$reload_cmds'))} 
                              {(SQ <'exit $?'>)}
                            )
                          ]
                          spids: [-1 53277]
                        )
                      ]
                      spids: [-1 53307]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$gentop'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(func_show_eval)} {(SQ <'${RM}r "$gentop"'>)})]
                          spids: [-1 53322]
                        )
                      ]
                      spids: [-1 53332]
                    )
                    (C {(exit)} {($ VSub_Name '$EXIT_SUCCESS')})
                  ]
                  spids: [52629 52630 53341 -1]
                )
                (case_arm
                  pat_list: [{(prog)}]
                  action: [
                    (Case
                      to_match: {($ VSub_Name '$host')}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other '*') (cygwin) (Lit_Other '*')}]
                          action: [
                            (C {(func_stripname)} {(SQ )} {(SQ <.exe>)} {(DQ ($ VSub_Name '$output'))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:output)
                                  op: Equal
                                  rhs: {($ VSub_Name '$func_stripname_result') (.exe)}
                                  spids: [53375]
                                )
                              ]
                              spids: [53375]
                            )
                          ]
                          spids: [53356 53359 53378 -1]
                        )
                      ]
                      spids: [53349 53353 53381]
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$vinfo'))})
                        (C {(func_warning)} {(DQ ("'-version-info' is ignored for programs"))})
                      ]
                      op_id: Op_DAmp
                    )
                    (AndOr
                      children: [
                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$release'))})
                        (C {(func_warning)} {(DQ ("'-release' is ignored for programs"))})
                      ]
                      op_id: Op_DAmp
                    )
                    (AndOr
                      children: [
                        (C {($ VSub_Name '$preload')})
                        (AndOr
                          children: [
                            (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."))}
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (Case
                      to_match: {($ VSub_Name '$host')}
                      arms: [
                        (case_arm
                          pat_list: [
                            {(Lit_Other '*') (-) (Lit_Other '*') (-rhapsody) (Lit_Other '*')}
                            {(Lit_Other '*') (-) (Lit_Other '*') (-darwin1.) (Lit_Other '[') (012) 
                              (Lit_Other ']')
                            }
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:compile_deplibs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$ECHO')} 
                                                    {(DQ (' ') ($ VSub_Name '$compile_deplibs'))}
                                                  )
                                                  (C {($ VSub_Name '$SED')} 
                                                    {(SQ <'s/ -lc / System.ltframework /'>)}
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [53490 53505]
                                      )
                                    }
                                  spids: [53489]
                                )
                              ]
                              spids: [53489]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:finalize_deplibs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$ECHO')} 
                                                    {(DQ (' ') ($ VSub_Name '$finalize_deplibs'))}
                                                  )
                                                  (C {($ VSub_Name '$SED')} 
                                                    {(SQ <'s/ -lc / System.ltframework /'>)}
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [53509 53524]
                                      )
                                    }
                                  spids: [53508]
                                )
                              ]
                              spids: [53508]
                            )
                          ]
                          spids: [53467 53482 53527 -1]
                        )
                      ]
                      spids: [53460 53464 53530]
                    )
                    (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: [53575 53579]
                                          )
                                        }
                                      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: [53584 53588 53613 -1]
                                        )
                                      ]
                                      spids: [53573 53581 53616]
                                    )
                                  ]
                                  spids: [-1 53570]
                                )
                              ]
                              spids: [-1 53619]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:compile_deplibs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$ECHO')} 
                                                    {(DQ (' ') ($ VSub_Name '$compile_deplibs'))}
                                                  )
                                                  (C {($ VSub_Name '$SED')} 
                                                    {
                                                      (SQ 
                                                        <
's% \\([^ $]*\\).ltframework% -framework \\1%g'
                                                        >
                                                      )
                                                    }
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [53627 53642]
                                      )
                                    }
                                  spids: [53626]
                                )
                              ]
                              spids: [53626]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:finalize_deplibs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$ECHO')} 
                                                    {(DQ (' ') ($ VSub_Name '$finalize_deplibs'))}
                                                  )
                                                  (C {($ VSub_Name '$SED')} 
                                                    {
                                                      (SQ 
                                                        <
's% \\([^ $]*\\).ltframework% -framework \\1%g'
                                                        >
                                                      )
                                                    }
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [53646 53661]
                                      )
                                    }
                                  spids: [53645]
                                )
                              ]
                              spids: [53645]
                            )
                          ]
                          spids: [53541 53546 53664 -1]
                        )
                      ]
                      spids: [53534 53538 53667]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:new_libs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [53680]
                        )
                      ]
                      spids: [53680]
                    )
                    (ForEach
                      iter_name: path
                      iter_words: [{($ VSub_Name '$notinst_path')}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Case
                              to_match: {(DQ (' ') ($ VSub_Name '$new_libs') (' '))}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') 
                                      (DQ (' -L') ($ VSub_Name '$path') (/) ($ VSub_Name '$objdir') (' ')) (Lit_Other '*')
                                    }
                                  ]
                                  spids: [53706 53715 53717 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Case
                                      to_match: {(DQ (' ') ($ VSub_Name '$compile_deplibs') (' '))}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') 
                                              (DQ (' -L') ($ VSub_Name '$path') (/) 
                                                ($ VSub_Name '$objdir') (' ')
                                              ) (Lit_Other '*')
                                            }
                                          ]
                                          action: [
                                            (C {(func_append)} {(new_libs)} 
                                              {
                                                (DQ (' -L') ($ VSub_Name '$path') (/) 
                                                  ($ VSub_Name '$objdir')
                                                )
                                              }
                                            )
                                          ]
                                          spids: [53735 53744 53758 -1]
                                        )
                                      ]
                                      spids: [53724 53732 53761]
                                    )
                                  ]
                                  spids: [53720 53721 53764 -1]
                                )
                              ]
                              spids: [53695 53703 53767]
                            )
                          ]
                          spids: [53692 53770]
                        )
                      spids: [53688 53690]
                    )
                    (ForEach
                      iter_name: deplib
                      iter_words: [{($ VSub_Name '$compile_deplibs')}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Case
                              to_match: {($ VSub_Name '$deplib')}
                              arms: [
                                (case_arm
                                  pat_list: [{(-L) (Lit_Other '*')}]
                                  action: [
                                    (Case
                                      to_match: {(DQ (' ') ($ VSub_Name '$new_libs') (' '))}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$deplib') (' ')) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [53808 53815 53817 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_append)} {(new_libs)} 
                                              {(DQ (' ') ($ VSub_Name '$deplib'))}
                                            )
                                          ]
                                          spids: [53820 53821 53832 -1]
                                        )
                                      ]
                                      spids: [53797 53805 53835]
                                    )
                                  ]
                                  spids: [53792 53794 53838 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(func_append)} {(new_libs)} {(DQ (' ') ($ VSub_Name '$deplib'))})
                                  ]
                                  spids: [53841 53842 53853 -1]
                                )
                              ]
                              spids: [53785 53789 53856]
                            )
                          ]
                          spids: [53782 53859]
                        )
                      spids: [53778 53780]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:compile_deplibs)
                          op: Equal
                          rhs: {($ VSub_Name '$new_libs')}
                          spids: [53862]
                        )
                      ]
                      spids: [53862]
                    )
                    (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: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Case
                                      to_match: {(DQ ($ VSub_Name '$finalize_rpath') (' '))}
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (DQ (' ') ($ VSub_Name '$libdir') (' ')) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [53936 53943 53945 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_append)} {(finalize_rpath)} 
                                              {(DQ (' ') ($ VSub_Name '$libdir'))}
                                            )
                                          ]
                                          spids: [53948 53949 53960 -1]
                                        )
                                      ]
                                      spids: [53926 53933 53963]
                                    )
                                  ]
                                  spids: [53919 53966]
                                )
                              spids: [53913 53917]
                            )
                          ]
                          spids: [-1 53901]
                        )
                      ]
                      spids: [-1 53969]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rpath)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [53977]
                        )
                      ]
                      spids: [53977]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:hardcode_libdirs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [53980]
                        )
                      ]
                      spids: [53980]
                    )
                    (ForEach
                      iter_name: libdir
                      iter_words: [{($ VSub_Name '$compile_rpath')} {($ VSub_Name '$finalize_rpath')}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-n)} 
                                          {(DQ ($ VSub_Name '$hardcode_libdir_flag_spec'))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-n)} 
                                                  {(DQ ($ VSub_Name '$hardcode_libdir_separator'))}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-z)} 
                                                          {(DQ ($ VSub_Name '$hardcode_libdirs'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:hardcode_libdirs)
                                                          op: Equal
                                                          rhs: {($ VSub_Name '$libdir')}
                                                          spids: [54039]
                                                        )
                                                      ]
                                                      spids: [54039]
                                                    )
                                                  ]
                                                  spids: [-1 54036]
                                                )
                                              ]
                                              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: [54059 54066 54069 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other '*')}]
                                                      action: [
                                                        (C {(func_append)} {(hardcode_libdirs)} 
                                                          {
                                                            (DQ 
                                                              ($ VSub_Name 
'$hardcode_libdir_separator'
                                                              ) ($ VSub_Name '$libdir')
                                                            )
                                                          }
                                                        )
                                                      ]
                                                      spids: [54072 54073 54086 -1]
                                                    )
                                                  ]
                                                  spids: [54050 54056 54089]
                                                )
                                              ]
                                              spids: [54043 54092]
                                            )
                                          ]
                                          spids: [-1 54022]
                                        )
                                      ]
                                      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: [54095 54116]
                                    )
                                  ]
                                  spids: [-1 54008]
                                )
                                (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: [54143 54150 54152 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_append)} {(perm_rpath)} 
                                              {(DQ (' ') ($ VSub_Name '$libdir'))}
                                            )
                                          ]
                                          spids: [54155 54156 54167 -1]
                                        )
                                      ]
                                      spids: [54133 54140 54170]
                                    )
                                  ]
                                  spids: [54119 54130]
                                )
                              ]
                              spids: [-1 54173]
                            )
                            (Case
                              to_match: {($ VSub_Name '$host')}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other '*') (-) (Lit_Other '*') (-cygwin) (Lit_Other '*')}
                                    {(Lit_Other '*') (-) (Lit_Other '*') (-mingw) (Lit_Other '*')}
                                    {(Lit_Other '*') (-) (Lit_Other '*') (-pw32) (Lit_Other '*')}
                                    {(Lit_Other '*') (-) (Lit_Other '*') (-os2) (Lit_Other '*')}
                                    {(Lit_Other '*') (-cegcc) (Lit_Other '*')}
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:testbindir)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (Pipeline
                                                        children: [
                                                          (C {($ VSub_Name '$ECHO')} 
                                                            {(DQ ($ VSub_Name '$libdir'))}
                                                          )
                                                          (C {($ VSub_Name '$SED')} {(-e)} 
                                                            {(SQ <'s*/lib$*/bin*'>)}
                                                          )
                                                        ]
                                                        negated: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [54222 54238]
                                              )
                                            }
                                          spids: [54221]
                                        )
                                      ]
                                      spids: [54221]
                                    )
                                    (Case
                                      to_match: 
                                        {(Lit_Other ':') ($ VSub_Name '$dllsearchpath') 
                                          (Lit_Other ':')
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (DQ (':') ($ VSub_Name '$libdir') (':')) 
                                              (Lit_Other '*')
                                            }
                                          ]
                                          spids: [54250 54257 54259 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other ':') (Lit_Other ':')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dllsearchpath)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$libdir')}
                                                  spids: [54266]
                                                )
                                              ]
                                              spids: [54266]
                                            )
                                          ]
                                          spids: [54262 54264 54268 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_append)} {(dllsearchpath)} 
                                              {(DQ (':') ($ VSub_Name '$libdir'))}
                                            )
                                          ]
                                          spids: [54271 54272 54282 -1]
                                        )
                                      ]
                                      spids: [54241 54247 54285]
                                    )
                                    (Case
                                      to_match: 
                                        {(Lit_Other ':') ($ VSub_Name '$dllsearchpath') 
                                          (Lit_Other ':')
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') 
                                              (DQ (':') ($ VSub_Name '$testbindir') (':')) (Lit_Other '*')
                                            }
                                          ]
                                          spids: [54297 54304 54306 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other ':') (Lit_Other ':')}]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dllsearchpath)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$testbindir')}
                                                  spids: [54313]
                                                )
                                              ]
                                              spids: [54313]
                                            )
                                          ]
                                          spids: [54309 54311 54315 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_append)} {(dllsearchpath)} 
                                              {(DQ (':') ($ VSub_Name '$testbindir'))}
                                            )
                                          ]
                                          spids: [54318 54319 54329 -1]
                                        )
                                      ]
                                      spids: [54288 54294 54332]
                                    )
                                  ]
                                  spids: [54183 54218 54335 -1]
                                )
                              ]
                              spids: [54176 54180 54338]
                            )
                          ]
                          spids: [53994 54341]
                        )
                      spids: [53988 53992]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$hardcode_libdir_separator'))})
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$hardcode_libdirs'))})
                                  ]
                                  op_id: Op_DAmp
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libdir)
                                  op: Equal
                                  rhs: {($ VSub_Name '$hardcode_libdirs')}
                                  spids: [54373]
                                )
                              ]
                              spids: [54373]
                            )
                            (C {(eval)} 
                              {(Lit_VarLike 'rpath=') 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar '\\"'>
                                )
                              } {($ VSub_Name '$hardcode_libdir_flag_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)}
                            )
                          ]
                          spids: [-1 54370]
                        )
                      ]
                      spids: [-1 54386]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:compile_rpath)
                          op: Equal
                          rhs: {($ VSub_Name '$rpath')}
                          spids: [54389]
                        )
                      ]
                      spids: [54389]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rpath)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [54394]
                        )
                      ]
                      spids: [54394]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:hardcode_libdirs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [54397]
                        )
                      ]
                      spids: [54397]
                    )
                    (ForEach
                      iter_name: libdir
                      iter_words: [{($ VSub_Name '$finalize_rpath')}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-n)} 
                                          {(DQ ($ VSub_Name '$hardcode_libdir_flag_spec'))}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(-n)} 
                                                  {(DQ ($ VSub_Name '$hardcode_libdir_separator'))}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-z)} 
                                                          {(DQ ($ VSub_Name '$hardcode_libdirs'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:hardcode_libdirs)
                                                          op: Equal
                                                          rhs: {($ VSub_Name '$libdir')}
                                                          spids: [54454]
                                                        )
                                                      ]
                                                      spids: [54454]
                                                    )
                                                  ]
                                                  spids: [-1 54451]
                                                )
                                              ]
                                              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: [54474 54481 54484 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other '*')}]
                                                      action: [
                                                        (C {(func_append)} {(hardcode_libdirs)} 
                                                          {
                                                            (DQ 
                                                              ($ VSub_Name 
'$hardcode_libdir_separator'
                                                              ) ($ VSub_Name '$libdir')
                                                            )
                                                          }
                                                        )
                                                      ]
                                                      spids: [54487 54488 54501 -1]
                                                    )
                                                  ]
                                                  spids: [54465 54471 54504]
                                                )
                                              ]
                                              spids: [54458 54507]
                                            )
                                          ]
                                          spids: [-1 54437]
                                        )
                                      ]
                                      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: [54510 54531]
                                    )
                                  ]
                                  spids: [-1 54423]
                                )
                                (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: [54558 54565 54567 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_append)} {(finalize_perm_rpath)} 
                                              {(DQ (' ') ($ VSub_Name '$libdir'))}
                                            )
                                          ]
                                          spids: [54570 54571 54582 -1]
                                        )
                                      ]
                                      spids: [54548 54555 54585]
                                    )
                                  ]
                                  spids: [54534 54545]
                                )
                              ]
                              spids: [-1 54588]
                            )
                          ]
                          spids: [54409 54591]
                        )
                      spids: [54405 54407]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$hardcode_libdir_separator'))})
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$hardcode_libdirs'))})
                                  ]
                                  op_id: Op_DAmp
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libdir)
                                  op: Equal
                                  rhs: {($ VSub_Name '$hardcode_libdirs')}
                                  spids: [54623]
                                )
                              ]
                              spids: [54623]
                            )
                            (C {(eval)} 
                              {(Lit_VarLike 'rpath=') 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar '\\"'>
                                )
                              } {($ VSub_Name '$hardcode_libdir_flag_spec') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)}
                            )
                          ]
                          spids: [-1 54620]
                        )
                      ]
                      spids: [-1 54636]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:finalize_rpath)
                          op: Equal
                          rhs: {($ VSub_Name '$rpath')}
                          spids: [54639]
                        )
                      ]
                      spids: [54639]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$libobjs'))})
                                    (C {(test)} {(yes)} {(Lit_Other '=')} 
                                      {(DQ ($ VSub_Name '$build_old_libs'))}
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:compile_command)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$ECHO')} 
                                                    {(DQ ($ VSub_Name '$compile_command'))}
                                                  )
                                                  (C {($ VSub_Name '$SP2NL')})
                                                  (C {($ VSub_Name '$SED')} {(DQ ($ VSub_Name '$lo2o'))})
                                                  (C {($ VSub_Name '$NL2SP')})
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [54675 54697]
                                      )
                                    }
                                  spids: [54674]
                                )
                              ]
                              spids: [54674]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:finalize_command)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$ECHO')} 
                                                    {(DQ ($ VSub_Name '$finalize_command'))}
                                                  )
                                                  (C {($ VSub_Name '$SP2NL')})
                                                  (C {($ VSub_Name '$SED')} {(DQ ($ VSub_Name '$lo2o'))})
                                                  (C {($ VSub_Name '$NL2SP')})
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [54701 54723]
                                      )
                                    }
                                  spids: [54700]
                                )
                              ]
                              spids: [54700]
                            )
                          ]
                          spids: [-1 54667]
                        )
                      ]
                      spids: [-1 54726]
                    )
                    (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: [-1 54759]
                        )
                      ]
                      spids: [-1 54773]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:wrappers_required)
                          op: Equal
                          rhs: {(Lit_Other ':')}
                          spids: [54777]
                        )
                      ]
                      spids: [54777]
                    )
                    (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: [54804]
                                )
                              ]
                              spids: [54804]
                            )
                          ]
                          spids: [54788 54797 54808 -1]
                        )
                        (case_arm
                          pat_list: [
                            {(Lit_Other '*') (cygwin) (Lit_Other '*')}
                            {(Lit_Other '*') (mingw) (Lit_Other '*')}
                          ]
                          action: [
                            (AndOr
                              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: [54836]
                                    )
                                  ]
                                  spids: [54836]
                                )
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          spids: [54811 54821 54840 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          children: [
                                            (C {(test)} {(no)} {(Lit_Other '=')} 
                                              {(DQ ($ VSub_Name '$need_relink'))}
                                            )
                                            (C {(test)} {(yes)} {(KW_Bang '!') (Lit_Other '=')} 
                                              {(DQ ($ VSub_Name '$build_libtool_libs'))}
                                            )
                                          ]
                                          op_id: Op_DPipe
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:wrappers_required)
                                          op: Equal
                                          rhs: {(false)}
                                          spids: [54876]
                                        )
                                      ]
                                      spids: [54876]
                                    )
                                  ]
                                  spids: [-1 54873]
                                )
                              ]
                              spids: [-1 54880]
                            )
                          ]
                          spids: [54843 54844 54883 -1]
                        )
                      ]
                      spids: [54781 54785 54886]
                    )
                    (AndOr
                      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: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [54901 54921]
                                      )
                                    }
                                  spids: [54900]
                                )
                              ]
                              spids: [54900]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:link_command)
                                  op: Equal
                                  rhs: 
                                    {($ VSub_Name '$compile_command') ($ VSub_Name '$compile_rpath')}
                                  spids: [54924]
                                )
                              ]
                              spids: [54924]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:exit_status)
                                  op: Equal
                                  rhs: {(0)}
                                  spids: [54934]
                                )
                              ]
                              spids: [54934]
                            )
                            (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: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [54972 55006]
                                              )
                                            }
                                          spids: [54971]
                                        )
                                      ]
                                      spids: [54971]
                                    )
                                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name '$postlink_cmds'))} 
                                      {(SQ <'exit $?'>)}
                                    )
                                  ]
                                  spids: [-1 54961]
                                )
                              ]
                              spids: [-1 55020]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-f)} 
                                          {
                                            (DQ ($ VSub_Name '$output_objdir') (/) 
                                              (${ VSub_Name outputname) (S.) ($ VSub_Name '$objext')
                                            )
                                          }
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_show_eval)} 
                                      {(SQ <'$RM "$output_objdir/${outputname}S.$objext"'>)}
                                    )
                                  ]
                                  spids: [-1 55045]
                                )
                              ]
                              spids: [-1 55055]
                            )
                            (C {(exit)} {($ VSub_Name '$exit_status')})
                          ]
                          spids: [54893]
                        )
                      ]
                      op_id: Op_DPipe
                    )
                    (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: [55083]
                                )
                              ]
                              spids: [55083]
                            )
                          ]
                          spids: [-1 55080]
                        )
                      ]
                      spids: [-1 55098]
                    )
                    (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: [55115]
                                )
                              ]
                              spids: [55115]
                            )
                          ]
                          spids: [-1 55112]
                        )
                      ]
                      spids: [-1 55129]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:compile_var)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [55133]
                        )
                      ]
                      spids: [55133]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:finalize_var)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [55136]
                        )
                      ]
                      spids: [55136]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$runpath_var'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$perm_rpath'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:rpath)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [55171]
                                        )
                                      ]
                                      spids: [55171]
                                    )
                                    (ForEach
                                      iter_name: dir
                                      iter_words: [{($ VSub_Name '$perm_rpath')}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (C {(func_append)} {(rpath)} 
                                              {(DQ ($ VSub_Name '$dir') (':'))}
                                            )
                                          ]
                                          spids: [55183 55196]
                                        )
                                      spids: [55179 55181]
                                    )
                                    (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: [55199]
                                        )
                                      ]
                                      spids: [55199]
                                    )
                                  ]
                                  spids: [-1 55164]
                                )
                              ]
                              spids: [-1 55212]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$finalize_perm_rpath'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:rpath)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [55233]
                                        )
                                      ]
                                      spids: [55233]
                                    )
                                    (ForEach
                                      iter_name: dir
                                      iter_words: [{($ VSub_Name '$finalize_perm_rpath')}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (C {(func_append)} {(rpath)} 
                                              {(DQ ($ VSub_Name '$dir') (':'))}
                                            )
                                          ]
                                          spids: [55245 55258]
                                        )
                                      spids: [55241 55243]
                                    )
                                    (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: [55261]
                                        )
                                      ]
                                      spids: [55261]
                                    )
                                  ]
                                  spids: [-1 55226]
                                )
                              ]
                              spids: [-1 55274]
                            )
                          ]
                          spids: [-1 55150]
                        )
                      ]
                      spids: [-1 55277]
                    )
                    (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: [55301]
                                )
                              ]
                              spids: [55301]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:link_command)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$ECHO')} 
                                                    {(DQ ($ VSub_Name '$link_command'))}
                                                  )
                                                  (C {($ VSub_Name '$SED')} 
                                                    {(SQ <'s%@OUTPUT@%'>) 
                                                      (DQ ($ VSub_Name '$output')) (SQ <'%g'>)
                                                    }
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [55312 55332]
                                      )
                                    }
                                  spids: [55311]
                                )
                              ]
                              spids: [55311]
                            )
                            (AndOr
                              children: [
                                (C {($ VSub_Name '$opt_dry_run')})
                                (C {($ VSub_Name '$RM')} {($ VSub_Name '$output')})
                              ]
                              op_id: Op_DPipe
                            )
                            (C {(func_show_eval)} {(DQ ($ VSub_Name '$link_command'))} {(SQ <'exit $?'>)})
                            (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: False
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick '`'>
                                                spids: [55386 55420]
                                              )
                                            }
                                          spids: [55385]
                                        )
                                      ]
                                      spids: [55385]
                                    )
                                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name '$postlink_cmds'))} 
                                      {(SQ <'exit $?'>)}
                                    )
                                  ]
                                  spids: [-1 55375]
                                )
                              ]
                              spids: [-1 55434]
                            )
                            (C {(exit)} {($ VSub_Name '$EXIT_SUCCESS')})
                          ]
                          spids: [-1 55294]
                        )
                      ]
                      spids: [-1 55443]
                    )
                    (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: [55466]
                                )
                              ]
                              spids: [55466]
                            )
                            (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: [55472]
                                )
                              ]
                              spids: [55472]
                            )
                            (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: [55456 55459 55495 -1]
                        )
                        (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: [55504]
                                )
                              ]
                              spids: [55504]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:relink_command)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$ECHO')} 
                                                    {
                                                      (DQ ($ VSub_Name '$compile_var') 
                                                        ($ VSub_Name '$compile_command') ($ VSub_Name '$compile_rpath')
                                                      )
                                                    }
                                                  )
                                                  (C {($ VSub_Name '$SED')} 
                                                    {(SQ <'s%@OUTPUT@%\\$progdir/\\$file%g'>)}
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [55511 55527]
                                      )
                                    }
                                  spids: [55510]
                                )
                              ]
                              spids: [55510]
                            )
                          ]
                          spids: [55498 55501 55530 -1]
                        )
                        (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: [55539]
                                )
                              ]
                              spids: [55539]
                            )
                            (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: [55545]
                                )
                              ]
                              spids: [55545]
                            )
                          ]
                          spids: [55533 55536 55551 -1]
                        )
                        (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: [55560]
                                )
                              ]
                              spids: [55560]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:relink_command)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [55566]
                                )
                              ]
                              spids: [55566]
                            )
                          ]
                          spids: [55554 55557 55569 -1]
                        )
                      ]
                      spids: [55447 55453 55572]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:link_command)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {($ VSub_Name '$ECHO')} 
                                            {(DQ ($ VSub_Name '$link_command'))}
                                          )
                                          (C {($ VSub_Name '$SED')} 
                                            {(SQ <'s%@OUTPUT@%'>) 
                                              (DQ ($ VSub_Name '$output_objdir') (/) 
                                                ($ VSub_Name '$outputname')
                                              ) (SQ <'%g'>)
                                            }
                                          )
                                        ]
                                        negated: False
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [55581 55603]
                              )
                            }
                          spids: [55580]
                        )
                      ]
                      spids: [55580]
                    )
                    (AndOr
                      children: [
                        (C {($ VSub_Name '$opt_dry_run')})
                        (C {($ VSub_Name '$RM')} {($ VSub_Name '$output')} 
                          {($ VSub_Name '$output_objdir') (/) ($ VSub_Name '$outputname')} {($ VSub_Name '$output_objdir') (/lt-) ($ VSub_Name '$outputname')}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                    (C {(func_show_eval)} {(DQ ($ VSub_Name '$link_command'))} {(SQ <'exit $?'>)})
                    (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: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [55665 55701]
                                      )
                                    }
                                  spids: [55664]
                                )
                              ]
                              spids: [55664]
                            )
                            (C {(func_execute_cmds)} {(DQ ($ VSub_Name '$postlink_cmds'))} 
                              {(SQ <'exit $?'>)}
                            )
                          ]
                          spids: [-1 55652]
                        )
                      ]
                      spids: [-1 55715]
                    )
                    (C {(func_verbose)} {(DQ ('creating ') ($ VSub_Name '$output'))})
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$relink_command'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (ForEach
                              iter_name: var
                              iter_words: [{($ VSub_Name '$variables_saved_for_relink')}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(eval)} {(test)} {(-z)} 
                                                  {
                                                    (EscapedLiteralPart
                                                      token: <Lit_EscapedChar '\\"'>
                                                    ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (Lit_LBrace '{') ($ VSub_Name '$var') (Lit_Other '+') 
                                                    (set) (Lit_RBrace '}') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                                  }
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:relink_command)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ('{ test -z ') 
                                                        (EscapedLiteralPart
                                                          token: <Lit_EscapedChar '\\"'>
                                                        ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{') ($ VSub_Name '$var') ('+set}') 
                                                        (EscapedLiteralPart
                                                          token: <Lit_EscapedChar '\\"'>
                                                        ) (' || ') ($ VSub_Name '$lt_unset') (' ') ($ VSub_Name '$var') (' || { ') ($ VSub_Name '$var') 
                                                        ('=; export ') ($ VSub_Name '$var') ('; }; }; ') ($ VSub_Name '$relink_command')
                                                      )
                                                    }
                                                  spids: [55787]
                                                )
                                              ]
                                              spids: [55787]
                                            )
                                          ]
                                          spids: [-1 55784]
                                        )
                                        (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: [55830]
                                                )
                                              ]
                                              spids: [55830]
                                            )
                                          ]
                                          spids: [55809 55827]
                                        )
                                      ]
                                      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: [55850]
                                            )
                                          ]
                                          spids: [55850]
                                        )
                                      ]
                                      spids: [55840 55862]
                                    )
                                  ]
                                  spids: [55763 55865]
                                )
                              spids: [55759 55761]
                            )
                            (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: [55871 55873]
                                        ) ('; ') ($ VSub_Name '$relink_command') (')')
                                      )
                                    }
                                  spids: [55868]
                                )
                              ]
                              spids: [55868]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:relink_command)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {($ VSub_Name '$ECHO')} 
                                                    {(DQ ($ VSub_Name '$relink_command'))}
                                                  )
                                                  (C {($ VSub_Name '$SED')} 
                                                    {(DQ ($ VSub_Name '$sed_quote_subst'))}
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick '`'>
                                        spids: [55881 55895]
                                      )
                                    }
                                  spids: [55880]
                                )
                              ]
                              spids: [55880]
                            )
                          ]
                          spids: [-1 55747]
                        )
                      ]
                      spids: [-1 55898]
                    )
                    (AndOr
                      children: [
                        (C {($ VSub_Name '$opt_dry_run')})
                        (BraceGroup
                          children: [
                            (Case
                              to_match: {($ VSub_Name '$output')}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other '*') (.exe)}]
                                  action: [
                                    (C {(func_stripname)} {(SQ )} {(SQ <.exe>)} 
                                      {(DQ ($ VSub_Name '$output'))}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:output)
                                          op: Equal
                                          rhs: {($ VSub_Name '$func_stripname_result')}
                                          spids: [55946]
                                        )
                                      ]
                                      spids: [55946]
                                    )
                                  ]
                                  spids: [55928 55930 55949 -1]
                                )
                              ]
                              spids: [55921 55925 55952]
                            )
                            (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: [55972]
                                        )
                                      ]
                                      spids: [55972]
                                    )
                                    (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: [55990]
                                        )
                                      ]
                                      spids: [55990]
                                    )
                                  ]
                                  spids: [55966 55969 55993 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:exeext)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [55999]
                                        )
                                      ]
                                      spids: [55999]
                                    )
                                  ]
                                  spids: [55996 55997 56001 -1]
                                )
                              ]
                              spids: [55959 55963 56004]
                            )
                            (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: [56041]
                                        )
                                      ]
                                      spids: [56041]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:output_path)
                                          op: Equal
                                          rhs: {($ VSub_Name '$func_dirname_result')}
                                          spids: [56045]
                                        )
                                      ]
                                      spids: [56045]
                                    )
                                    (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: [56049]
                                        )
                                      ]
                                      spids: [56049]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:cwrapper)
                                          op: Equal
                                          rhs: 
                                            {($ VSub_Name '$output_path') (/) 
                                              ($ VSub_Name '$output_name') (.exe)
                                            }
                                          spids: [56058]
                                        )
                                      ]
                                      spids: [56058]
                                    )
                                    (C {($ VSub_Name '$RM')} {($ VSub_Name '$cwrappersource')} 
                                      {($ VSub_Name '$cwrapper')}
                                    )
                                    (C {(trap)} 
                                      {
                                        (DQ ($ VSub_Name '$RM') (' ') ($ VSub_Name '$cwrappersource') 
                                          (' ') ($ VSub_Name '$cwrapper') ('; exit ') ($ VSub_Name '$EXIT_FAILURE')
                                        )
                                      } {(1)} {(2)} {(15)}
                                    )
                                    (SimpleCommand
                                      words: [{(func_emit_cwrapperexe_src)}]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_Great
                                          fd: -1
                                          arg_word: {($ VSub_Name '$cwrappersource')}
                                          spids: [56094]
                                        )
                                      ]
                                    )
                                    (AndOr
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (BraceGroup
                                          children: [
                                            (C {($ VSub_Name '$LTCC')} {($ VSub_Name '$LTCFLAGS')} 
                                              {(-o)} {($ VSub_Name '$cwrapper')} {($ VSub_Name '$cwrappersource')}
                                            )
                                            (C {($ VSub_Name '$STRIP')} {($ VSub_Name '$cwrapper')})
                                          ]
                                          spids: [56120]
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                    (C {(func_ltwrapper_scriptname)} {($ VSub_Name '$cwrapper')})
                                    (C {($ VSub_Name '$RM')} 
                                      {($ VSub_Name '$func_ltwrapper_scriptname_result')}
                                    )
                                    (C {(trap)} 
                                      {
                                        (DQ ($ VSub_Name '$RM') (' ') 
                                          ($ VSub_Name '$func_ltwrapper_scriptname_result') ('; exit ') ($ VSub_Name '$EXIT_FAILURE')
                                        )
                                      } {(1)} {(2)} {(15)}
                                    )
                                    (AndOr
                                      children: [
                                        (C {($ VSub_Name '$opt_dry_run')})
                                        (BraceGroup
                                          children: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(DQ (x) ($ VSub_Name '$build'))} 
                                                          {(Lit_Other '=')} {(DQ (x) ($ VSub_Name '$host'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (SimpleCommand
                                                      words: [
                                                        {($ VSub_Name '$cwrapper')}
                                                        {(--lt-dump-script)}
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: -1
                                                          arg_word: 
                                                            {
                                                              ($ VSub_Name 
'$func_ltwrapper_scriptname_result'
                                                              )
                                                            }
                                                          spids: [56209]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  spids: [-1 56202]
                                                )
                                              ]
                                              else_action: [
                                                (SimpleCommand
                                                  words: [{(func_emit_wrapper)} {(no)}]
                                                  redirects: [
                                                    (Redir
                                                      op_id: Redir_Great
                                                      fd: -1
                                                      arg_word: 
                                                        {
                                                          ($ VSub_Name 
'$func_ltwrapper_scriptname_result'
                                                          )
                                                        }
                                                      spids: [56221]
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [56214 56226]
                                            )
                                          ]
                                          spids: [56178]
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                  ]
                                  spids: [56014 56024 56232 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {($ VSub_Name '$RM')} {($ VSub_Name '$output')})
                                    (C {(trap)} 
                                      {
                                        (DQ ($ VSub_Name '$RM') (' ') ($ VSub_Name '$output') 
                                          ('; exit ') ($ VSub_Name '$EXIT_FAILURE')
                                        )
                                      } {(1)} {(2)} {(15)}
                                    )
                                    (SimpleCommand
                                      words: [{(func_emit_wrapper)} {(no)}]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_Great
                                          fd: -1
                                          arg_word: {($ VSub_Name '$output')}
                                          spids: [56267]
                                        )
                                      ]
                                    )
                                    (C {(chmod)} {(Lit_Other '+') (x)} {($ VSub_Name '$output')})
                                  ]
                                  spids: [56235 56237 56280 -1]
                                )
                              ]
                              spids: [56007 56011 56283]
                            )
                          ]
                          spids: [55910]
                        )
                      ]
                      op_id: Op_DPipe
                    )
                    (C {(exit)} {($ VSub_Name '$EXIT_SUCCESS')})
                  ]
                  spids: [53345 53346 56294 -1]
                )
              ]
              spids: [42794 42798 56297]
            )
            (ForEach
              iter_name: oldlib
              iter_words: [{($ VSub_Name '$oldlibs')}]
              do_arg_iter: False
              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: [56329]
                                )
                              ]
                              spids: [56329]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:addlibs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$convenience')}
                                  spids: [56337]
                                )
                              ]
                              spids: [56337]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_libtool_libs)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [56341]
                                )
                              ]
                              spids: [56341]
                            )
                          ]
                          spids: [56325 56326 56345 -1]
                        )
                        (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: [56352]
                                )
                              ]
                              spids: [56352]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:addlibs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$old_convenience')}
                                  spids: [56356]
                                )
                              ]
                              spids: [56356]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_libtool_libs)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [56360]
                                )
                              ]
                              spids: [56360]
                            )
                          ]
                          spids: [56348 56349 56364 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldobjs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$old_deplibs') (' ') 
                                        ($ VSub_Name '$non_pic_objects')
                                      )
                                    }
                                  spids: [56371]
                                )
                              ]
                              spids: [56371]
                            )
                            (AndOr
                              children: [
                                (C {($ VSub_Name '$preload')})
                                (AndOr
                                  children: [
                                    (C {(test)} {(-f)} {(DQ ($ VSub_Name '$symfileobj'))})
                                    (C {(func_append)} {(oldobjs)} 
                                      {(DQ (' ') ($ VSub_Name '$symfileobj'))}
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                              ]
                              op_id: Op_DAmp
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:addlibs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$old_convenience')}
                                  spids: [56405]
                                )
                              ]
                              spids: [56405]
                            )
                          ]
                          spids: [56367 56368 56409 -1]
                        )
                      ]
                      spids: [56318 56322 56412]
                    )
                    (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: [56430]
                                )
                              ]
                              spids: [56430]
                            )
                            (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: [-1 56427]
                        )
                      ]
                      spids: [-1 56467]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$old_archive_from_new_cmds'))})
                                    (C {(test)} {(yes)} {(Lit_Other '=')} 
                                      {(DQ ($ VSub_Name '$build_libtool_libs'))}
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:cmds)
                                  op: Equal
                                  rhs: {($ VSub_Name '$old_archive_from_new_cmds')}
                                  spids: [56501]
                                )
                              ]
                              spids: [56501]
                            )
                          ]
                          spids: [-1 56498]
                        )
                      ]
                      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: [56527]
                                    )
                                  ]
                                  spids: [56527]
                                )
                                (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: [-1 56524]
                            )
                          ]
                          spids: [-1 56564]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (Subshell
                                      child: 
                                        (Pipeline
                                          children: [
                                            (ForEach
                                              iter_name: obj
                                              iter_words: [{($ VSub_Name '$oldobjs')}]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (C {(func_basename)} {(DQ ($ VSub_Name '$obj'))})
                                                    (C {($ VSub_Name '$ECHO')} 
                                                      {(DQ ($ VSub_Name '$func_basename_result'))}
                                                    )
                                                  ]
                                                  spids: [56604 56621]
                                                )
                                              spids: [56600 -1]
                                            )
                                            (C {(sort)})
                                            (SimpleCommand
                                              words: [{(sort)} {(-uc)}]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_Great
                                                  fd: -1
                                                  arg_word: {(/dev/null)}
                                                  spids: [56633]
                                                )
                                                (Redir
                                                  op_id: Redir_GreatAnd
                                                  fd: 2
                                                  arg_word: {(1)}
                                                  spids: [56636]
                                                )
                                              ]
                                            )
                                          ]
                                          negated: False
                                        )
                                      spids: [56594 56638]
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [(C {(Lit_Other ':')})]
                              spids: [-1 56641]
                            )
                          ]
                          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: [56657]
                                )
                              ]
                              spids: [56657]
                            )
                            (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: [56683]
                                )
                              ]
                              spids: [56683]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldobjs)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [56687]
                                )
                              ]
                              spids: [56687]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:counter)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [56690]
                                )
                              ]
                              spids: [56690]
                            )
                            (ForEach
                              iter_name: obj
                              iter_words: [{($ VSub_Name '$save_oldobjs')}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (C {(func_basename)} {(DQ ($ VSub_Name '$obj'))})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:objbase)
                                          op: Equal
                                          rhs: {($ VSub_Name '$func_basename_result')}
                                          spids: [56713]
                                        )
                                      ]
                                      spids: [56713]
                                    )
                                    (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: [56733]
                                                )
                                              ]
                                              spids: [56733]
                                            )
                                          ]
                                          spids: [56729 56731 56736 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other '*') (Lit_Other '[') 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar '\\ '>
                                              ) (/) (Lit_Other ']') (DQ ($ VSub_Name '$objbase') (' ')) (Lit_Other '*')
                                            }
                                          ]
                                          action: [
                                            (While
                                              cond: [
                                                (Sentence
                                                  child: (C {(Lit_Other ':')})
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:newobj)
                                                          op: Equal
                                                          rhs: 
                                                            {(lt) ($ VSub_Name '$counter') (-) 
                                                              ($ VSub_Name '$objbase')
                                                            }
                                                          spids: [56768]
                                                        )
                                                      ]
                                                      spids: [56768]
                                                    )
                                                    (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: [56784]
                                                        )
                                                      ]
                                                      spids: [56784]
                                                    )
                                                    (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: [56799 56809 56811 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (If
                                                              arms: [
                                                                (if_arm
                                                                  cond: [
                                                                    (Sentence
                                                                      child: 
                                                                        (C {(test)} {(KW_Bang '!')} 
                                                                          {(-f)} {(DQ ($ VSub_Name '$gentop') (/) ($ VSub_Name '$newobj'))}
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  action: [
                                                                    (Sentence
                                                                      child: 
                                                                        (ControlFlow
                                                                          token: 
                                                                            <ControlFlow_Break 
break
                                                                            >
                                                                        )
                                                                      terminator: <Op_Semi ';'>
                                                                    )
                                                                  ]
                                                                  spids: [-1 56832]
                                                                )
                                                              ]
                                                              spids: [-1 56837]
                                                            )
                                                          ]
                                                          spids: [56814 56815 56839 -1]
                                                        )
                                                      ]
                                                      spids: [56788 56796 56842]
                                                    )
                                                  ]
                                                  spids: [56757 56845]
                                                )
                                            )
                                            (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: [56739 56749 56878 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other '*')}]
                                          action: [
                                            (C {(func_append)} {(oldobjs)} 
                                              {(DQ (' ') ($ VSub_Name '$obj'))}
                                            )
                                          ]
                                          spids: [56881 56882 56893 -1]
                                        )
                                      ]
                                      spids: [56717 56725 56896]
                                    )
                                  ]
                                  spids: [56703 56899]
                                )
                              spids: [56699 -1]
                            )
                          ]
                          spids: [56647 56902]
                        )
                        (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: [56914]
                            )
                          ]
                          spids: [56914]
                        )
                        (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: [56935]
                            )
                          ]
                          spids: [56935]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (AndOr
                                      children: [
                                        (C {(test)} {(DQ ($ VSub_Name '$len'))} {(-lt)} 
                                          {(DQ ($ VSub_Name '$max_cmd_len'))}
                                        )
                                        (C {(test)} {(DQ ($ VSub_Name '$max_cmd_len'))} {(-le)} {(-1)})
                                      ]
                                      op_id: Op_DPipe
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:cmds)
                                      op: Equal
                                      rhs: {($ VSub_Name '$old_archive_cmds')}
                                      spids: [56969]
                                    )
                                  ]
                                  spids: [56969]
                                )
                              ]
                              spids: [-1 56966]
                            )
                            (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: False
                                  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: [57003 57020]
                                    )
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: -1
                                      arg_word: 
                                        {($ VSub_Name '$output_objdir') (/) ($ VSub_Name '$libname') 
                                          (.libcmd)
                                        }
                                      spids: [57022]
                                    )
                                  ]
                                  spids: [56999 -1]
                                )
                                (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: [57040]
                                    )
                                  ]
                                  spids: [57040]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:cmds)
                                      op: Equal
                                      rhs: {($ VSub_Name '$old_archive_cmds')}
                                      spids: [57048]
                                    )
                                  ]
                                  spids: [57048]
                                )
                              ]
                              spids: [56973 56984]
                            )
                          ]
                          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: [57066]
                                )
                              ]
                              spids: [57066]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:RANLIB)
                                  op: Equal
                                  rhs: {(Lit_Other ':')}
                                  spids: [57070]
                                )
                              ]
                              spids: [57070]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:objlist)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [57074]
                                )
                              ]
                              spids: [57074]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:concat_cmds)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [57077]
                                )
                              ]
                              spids: [57077]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:save_oldobjs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$oldobjs')}
                                  spids: [57080]
                                )
                              ]
                              spids: [57080]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldobjs)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [57084]
                                )
                              ]
                              spids: [57084]
                            )
                            (ForEach
                              iter_name: obj
                              iter_words: [{($ VSub_Name '$save_oldobjs')}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:last_oldobj)
                                          op: Equal
                                          rhs: {($ VSub_Name '$obj')}
                                          spids: [57103]
                                        )
                                      ]
                                      spids: [57103]
                                    )
                                  ]
                                  spids: [57100 57107]
                                )
                              spids: [57096 -1]
                            )
                            (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: [57126]
                                )
                              ]
                              spids: [57126]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:len)
                                  op: Equal
                                  rhs: {($ VSub_Name '$len0')}
                                  spids: [57130]
                                )
                              ]
                              spids: [57130]
                            )
                            (ForEach
                              iter_name: obj
                              iter_words: [{($ VSub_Name '$save_oldobjs')}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (C {(func_len)} {(DQ (' ') ($ VSub_Name '$obj'))})
                                    (C {(func_arith)} {($ VSub_Name '$len')} {(Lit_Other '+')} 
                                      {($ VSub_Name '$func_len_result')}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:len)
                                          op: Equal
                                          rhs: {($ VSub_Name '$func_arith_result')}
                                          spids: [57163]
                                        )
                                      ]
                                      spids: [57163]
                                    )
                                    (C {(func_append)} {(objlist)} {(DQ (' ') ($ VSub_Name '$obj'))})
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(DQ ($ VSub_Name '$len'))} {(-lt)} 
                                                  {(DQ ($ VSub_Name '$max_cmd_len'))}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [(C {(Lit_Other ':')})]
                                          spids: [-1 57192]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:oldobjs)
                                              op: Equal
                                              rhs: {($ VSub_Name '$objlist')}
                                              spids: [57205]
                                            )
                                          ]
                                          spids: [57205]
                                        )
                                        (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: [57227]
                                                    )
                                                  ]
                                                  spids: [57227]
                                                )
                                              ]
                                              spids: [-1 57224]
                                            )
                                          ]
                                          spids: [-1 57231]
                                        )
                                        (AndOr
                                          children: [
                                            (C {(test)} {(-z)} {(DQ ($ VSub_Name '$concat_cmds'))})
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:concat_cmds)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$concat_cmds') (Lit_Tilde '~')}
                                                  spids: [57244]
                                                )
                                              ]
                                              spids: [57244]
                                            )
                                          ]
                                          op_id: Op_DPipe
                                        )
                                        (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: {(SQ )}
                                              spids: [57259]
                                            )
                                          ]
                                          spids: [57259]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:len)
                                              op: Equal
                                              rhs: {($ VSub_Name '$len0')}
                                              spids: [57262]
                                            )
                                          ]
                                          spids: [57262]
                                        )
                                      ]
                                      spids: [57198 57266]
                                    )
                                  ]
                                  spids: [57143 57269]
                                )
                              spids: [57139 -1]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:RANLIB)
                                  op: Equal
                                  rhs: {($ VSub_Name '$save_RANLIB')}
                                  spids: [57272]
                                )
                              ]
                              spids: [57272]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldobjs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$objlist')}
                                  spids: [57276]
                                )
                              ]
                              spids: [57276]
                            )
                            (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: [-1 57291]
                                )
                              ]
                              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: [57303 57318]
                            )
                          ]
                          spids: [57052 57321]
                        )
                      ]
                      spids: [56505 57324]
                    )
                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name '$cmds'))} {(SQ <'exit $?'>)})
                  ]
                  spids: [56314 57338]
                )
              spids: [56310 56312]
            )
            (AndOr
              children: [
                (C {(test)} {(-n)} {(DQ ($ VSub_Name '$generated'))})
                (C {(func_show_eval)} {(DQ (${ VSub_Name RM) (r) ($ VSub_Name '$generated'))})
              ]
              op_id: Op_DAmp
            )
            (Case
              to_match: {($ VSub_Name '$output')}
              arms: [
                (case_arm
                  pat_list: [{(Lit_Other '*') (.la)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:old_library)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [57382]
                        )
                      ]
                      spids: [57382]
                    )
                    (AndOr
                      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: [57397]
                            )
                          ]
                          spids: [57397]
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (C {(func_verbose)} {(DQ ('creating ') ($ VSub_Name '$output'))})
                    (ForEach
                      iter_name: var
                      iter_words: [{($ VSub_Name '$variables_saved_for_relink')}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(eval)} {(test)} {(-z)} 
                                          {(EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                            (EscapedLiteralPart
                                              token: <Lit_EscapedChar '\\$'>
                                            ) (Lit_LBrace '{') ($ VSub_Name '$var') (Lit_Other '+') (set) (Lit_RBrace '}') 
                                            (EscapedLiteralPart
                                              token: <Lit_EscapedChar '\\"'>
                                            )
                                          }
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:relink_command)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ('{ test -z ') 
                                                (EscapedLiteralPart
                                                  token: <Lit_EscapedChar '\\"'>
                                                ) (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{') ($ VSub_Name '$var') ('+set}') 
                                                (EscapedLiteralPart
                                                  token: <Lit_EscapedChar '\\"'>
                                                ) (' || ') ($ VSub_Name '$lt_unset') (' ') ($ VSub_Name '$var') (' || { ') ($ VSub_Name '$var') 
                                                ('=; export ') ($ VSub_Name '$var') ('; }; }; ') ($ VSub_Name '$relink_command')
                                              )
                                            }
                                          spids: [57449]
                                        )
                                      ]
                                      spids: [57449]
                                    )
                                  ]
                                  spids: [-1 57446]
                                )
                                (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: [57492]
                                        )
                                      ]
                                      spids: [57492]
                                    )
                                  ]
                                  spids: [57471 57489]
                                )
                              ]
                              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: [57512]
                                    )
                                  ]
                                  spids: [57512]
                                )
                              ]
                              spids: [57502 57524]
                            )
                          ]
                          spids: [57425 57527]
                        )
                      spids: [57421 57423]
                    )
                    (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: [57537 57539]
                                ) ('; ') ($ 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: [57534]
                        )
                      ]
                      spids: [57534]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:relink_command)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {($ VSub_Name '$ECHO')} 
                                            {(DQ ($ VSub_Name '$relink_command'))}
                                          )
                                          (C {($ VSub_Name '$SED')} 
                                            {(DQ ($ VSub_Name '$sed_quote_subst'))}
                                          )
                                        ]
                                        negated: False
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [57555 57569]
                              )
                            }
                          spids: [57554]
                        )
                      ]
                      spids: [57554]
                    )
                    (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: {(SQ )}
                                  spids: [57588]
                                )
                              ]
                              spids: [57588]
                            )
                          ]
                          spids: [-1 57585]
                        )
                      ]
                      spids: [-1 57591]
                    )
                    (AndOr
                      children: [
                        (C {($ VSub_Name '$opt_dry_run')})
                        (BraceGroup
                          children: [
                            (ForEach
                              iter_name: installed
                              iter_words: [{(no)} {(yes)}]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(test)} {(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: [-1 57647]
                                                )
                                              ]
                                              spids: [-1 57653]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:output)
                                                  op: Equal
                                                  rhs: 
                                                    {($ VSub_Name '$output_objdir') (/) 
                                                      (${ VSub_Name outputname) (i)
                                                    }
                                                  spids: [57656]
                                                )
                                              ]
                                              spids: [57656]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newdependency_libs)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [57669]
                                                )
                                              ]
                                              spids: [57669]
                                            )
                                            (ForEach
                                              iter_name: deplib
                                              iter_words: [{($ VSub_Name '$dependency_libs')}]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Case
                                                      to_match: {($ VSub_Name '$deplib')}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*') (.la)}]
                                                          action: [
                                                            (C {(func_basename)} 
                                                              {(DQ ($ VSub_Name '$deplib'))}
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:name)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      ($ VSub_Name 
'$func_basename_result'
                                                                      )
                                                                    }
                                                                  spids: [57703]
                                                                )
                                                              ]
                                                              spids: [57703]
                                                            )
                                                            (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: [57717 57729]
                                                                )
                                                              }
                                                            )
                                                            (AndOr
                                                              children: [
                                                                (C {(test)} {(-z)} 
                                                                  {(DQ ($ VSub_Name '$libdir'))}
                                                                )
                                                                (C {(func_fatal_error)} 
                                                                  {
                                                                    (DQ ("'") ($ VSub_Name '$deplib') 
                                                                      (
"' is not a valid libtool archive"
                                                                      )
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                              op_id: Op_DAmp
                                                            )
                                                            (C {(func_append)} {(newdependency_libs)} 
                                                              {
                                                                (DQ (' ') 
                                                                  (BracedVarSub
                                                                    token: <VSub_Name lt_sysroot>
                                                                    suffix_op: 
                                                                      (StringUnary
                                                                        op_id: VTest_ColonPlus
                                                                        arg_word: {('=')}
                                                                      )
                                                                    spids: [57759 57763]
                                                                  ) ($ VSub_Name '$libdir') (/) ($ VSub_Name '$name')
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [57691 57693 57770 -1]
                                                        )
                                                        (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: [57773 57775 57807 -1]
                                                        )
                                                        (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: [57810 57812 57844 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (C {(func_append)} {(newdependency_libs)} 
                                                              {(DQ (' ') ($ VSub_Name '$deplib'))}
                                                            )
                                                          ]
                                                          spids: [57847 57848 57859 -1]
                                                        )
                                                      ]
                                                      spids: [57684 57688 57862]
                                                    )
                                                  ]
                                                  spids: [57681 57865]
                                                )
                                              spids: [57677 57679]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dependency_libs)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$newdependency_libs')}
                                                  spids: [57868]
                                                )
                                              ]
                                              spids: [57868]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newdlfiles)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [57872]
                                                )
                                              ]
                                              spids: [57872]
                                            )
                                            (ForEach
                                              iter_name: lib
                                              iter_words: [{($ VSub_Name '$dlfiles')}]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Case
                                                      to_match: {($ VSub_Name '$lib')}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*') (.la)}]
                                                          action: [
                                                            (C {(func_basename)} 
                                                              {(DQ ($ VSub_Name '$lib'))}
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:name)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      ($ VSub_Name 
'$func_basename_result'
                                                                      )
                                                                    }
                                                                  spids: [57907]
                                                                )
                                                              ]
                                                              spids: [57907]
                                                            )
                                                            (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: [57914 57926]
                                                                )
                                                              }
                                                            )
                                                            (AndOr
                                                              children: [
                                                                (C {(test)} {(-z)} 
                                                                  {(DQ ($ VSub_Name '$libdir'))}
                                                                )
                                                                (C {(func_fatal_error)} 
                                                                  {
                                                                    (DQ ("'") ($ VSub_Name '$lib') 
                                                                      (
"' is not a valid libtool archive"
                                                                      )
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                              op_id: Op_DAmp
                                                            )
                                                            (C {(func_append)} {(newdlfiles)} 
                                                              {
                                                                (DQ (' ') 
                                                                  (BracedVarSub
                                                                    token: <VSub_Name lt_sysroot>
                                                                    suffix_op: 
                                                                      (StringUnary
                                                                        op_id: VTest_ColonPlus
                                                                        arg_word: {('=')}
                                                                      )
                                                                    spids: [57956 57960]
                                                                  ) ($ VSub_Name '$libdir') (/) ($ VSub_Name '$name')
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [57895 57897 57967 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')}]
                                                          action: [
                                                            (C {(func_append)} {(newdlfiles)} 
                                                              {(DQ (' ') ($ VSub_Name '$lib'))}
                                                            )
                                                          ]
                                                          spids: [57970 57971 57982 -1]
                                                        )
                                                      ]
                                                      spids: [57888 57892 57985]
                                                    )
                                                  ]
                                                  spids: [57885 57988]
                                                )
                                              spids: [57881 57883]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dlfiles)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$newdlfiles')}
                                                  spids: [57991]
                                                )
                                              ]
                                              spids: [57991]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newdlprefiles)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [57995]
                                                )
                                              ]
                                              spids: [57995]
                                            )
                                            (ForEach
                                              iter_name: lib
                                              iter_words: [{($ VSub_Name '$dlprefiles')}]
                                              do_arg_iter: False
                                              body: 
                                                (DoGroup
                                                  children: [
                                                    (Case
                                                      to_match: {($ VSub_Name '$lib')}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*') (.la)}]
                                                          action: [
                                                            (C {(func_basename)} 
                                                              {(DQ ($ VSub_Name '$lib'))}
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:name)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {
                                                                      ($ VSub_Name 
'$func_basename_result'
                                                                      )
                                                                    }
                                                                  spids: [58045]
                                                                )
                                                              ]
                                                              spids: [58045]
                                                            )
                                                            (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: [58052 58064]
                                                                )
                                                              }
                                                            )
                                                            (AndOr
                                                              children: [
                                                                (C {(test)} {(-z)} 
                                                                  {(DQ ($ VSub_Name '$libdir'))}
                                                                )
                                                                (C {(func_fatal_error)} 
                                                                  {
                                                                    (DQ ("'") ($ VSub_Name '$lib') 
                                                                      (
"' is not a valid libtool archive"
                                                                      )
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                              op_id: Op_DAmp
                                                            )
                                                            (C {(func_append)} {(newdlprefiles)} 
                                                              {
                                                                (DQ (' ') 
                                                                  (BracedVarSub
                                                                    token: <VSub_Name lt_sysroot>
                                                                    suffix_op: 
                                                                      (StringUnary
                                                                        op_id: VTest_ColonPlus
                                                                        arg_word: {('=')}
                                                                      )
                                                                    spids: [58094 58098]
                                                                  ) ($ VSub_Name '$libdir') (/) ($ VSub_Name '$name')
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [58017 58019 58105 -1]
                                                        )
                                                      ]
                                                      spids: [58010 58014 58108]
                                                    )
                                                  ]
                                                  spids: [58007 58111]
                                                )
                                              spids: [58003 58005]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dlprefiles)
                                                  op: Equal
                                                  rhs: {($ VSub_Name '$newdlprefiles')}
                                                  spids: [58114]
                                                )
                                              ]
                                              spids: [58114]
                                            )
                                          ]
                                          spids: [-1 57633]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:newdlfiles)
                                              op: Equal
                                              rhs: {(SQ )}
                                              spids: [58121]
                                            )
                                          ]
                                          spids: [58121]
                                        )
                                        (ForEach
                                          iter_name: lib
                                          iter_words: [{($ VSub_Name '$dlfiles')}]
                                          do_arg_iter: False
                                          body: 
                                            (DoGroup
                                              children: [
                                                (Case
                                                  to_match: {($ VSub_Name '$lib')}
                                                  arms: [
                                                    (case_arm
                                                      pat_list: [
                                                        {(Lit_Other '[') 
                                                          (EscapedLiteralPart
                                                            token: <Lit_EscapedChar '\\\\'>
                                                          ) (/) (Lit_Other ']') (Lit_Other '*')
                                                        }
                                                        {(Lit_Other '[') (A-Za-z) (Lit_Other ']') 
                                                          (Lit_Other ':') (Lit_Other '[') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (/) (Lit_Other ']') (Lit_Other '*')
                                                        }
                                                      ]
                                                      action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:abs)
                                                              op: Equal
                                                              rhs: {($ VSub_Name '$lib')}
                                                              spids: [58162]
                                                            )
                                                          ]
                                                          spids: [58162]
                                                        )
                                                      ]
                                                      spids: [58143 58160 58165 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other '*')}]
                                                      action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:abs)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (CommandSubPart
                                                                    command_list: 
                                                                      (CommandList
                                                                        children: [(C {(pwd)})]
                                                                      )
                                                                    left_token: <Left_Backtick '`'>
                                                                    spids: [58172 58174]
                                                                  ) (DQ (/) ($ VSub_Name '$lib'))
                                                                }
                                                              spids: [58171]
                                                            )
                                                          ]
                                                          spids: [58171]
                                                        )
                                                      ]
                                                      spids: [58168 58169 58180 -1]
                                                    )
                                                  ]
                                                  spids: [58136 58140 58183]
                                                )
                                                (C {(func_append)} {(newdlfiles)} 
                                                  {(DQ (' ') ($ VSub_Name '$abs'))}
                                                )
                                              ]
                                              spids: [58133 58196]
                                            )
                                          spids: [58129 58131]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:dlfiles)
                                              op: Equal
                                              rhs: {($ VSub_Name '$newdlfiles')}
                                              spids: [58199]
                                            )
                                          ]
                                          spids: [58199]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:newdlprefiles)
                                              op: Equal
                                              rhs: {(SQ )}
                                              spids: [58203]
                                            )
                                          ]
                                          spids: [58203]
                                        )
                                        (ForEach
                                          iter_name: lib
                                          iter_words: [{($ VSub_Name '$dlprefiles')}]
                                          do_arg_iter: False
                                          body: 
                                            (DoGroup
                                              children: [
                                                (Case
                                                  to_match: {($ VSub_Name '$lib')}
                                                  arms: [
                                                    (case_arm
                                                      pat_list: [
                                                        {(Lit_Other '[') 
                                                          (EscapedLiteralPart
                                                            token: <Lit_EscapedChar '\\\\'>
                                                          ) (/) (Lit_Other ']') (Lit_Other '*')
                                                        }
                                                        {(Lit_Other '[') (A-Za-z) (Lit_Other ']') 
                                                          (Lit_Other ':') (Lit_Other '[') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (/) (Lit_Other ']') (Lit_Other '*')
                                                        }
                                                      ]
                                                      action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:abs)
                                                              op: Equal
                                                              rhs: {($ VSub_Name '$lib')}
                                                              spids: [58244]
                                                            )
                                                          ]
                                                          spids: [58244]
                                                        )
                                                      ]
                                                      spids: [58225 58242 58247 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other '*')}]
                                                      action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:abs)
                                                              op: Equal
                                                              rhs: 
                                                                {
                                                                  (CommandSubPart
                                                                    command_list: 
                                                                      (CommandList
                                                                        children: [(C {(pwd)})]
                                                                      )
                                                                    left_token: <Left_Backtick '`'>
                                                                    spids: [58254 58256]
                                                                  ) (DQ (/) ($ VSub_Name '$lib'))
                                                                }
                                                              spids: [58253]
                                                            )
                                                          ]
                                                          spids: [58253]
                                                        )
                                                      ]
                                                      spids: [58250 58251 58262 -1]
                                                    )
                                                  ]
                                                  spids: [58218 58222 58265]
                                                )
                                                (C {(func_append)} {(newdlprefiles)} 
                                                  {(DQ (' ') ($ VSub_Name '$abs'))}
                                                )
                                              ]
                                              spids: [58215 58278]
                                            )
                                          spids: [58211 58213]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:dlprefiles)
                                              op: Equal
                                              rhs: {($ VSub_Name '$newdlprefiles')}
                                              spids: [58281]
                                            )
                                          ]
                                          spids: [58281]
                                        )
                                      ]
                                      spids: [58118 58285]
                                    )
                                    (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: [58329]
                                        )
                                      ]
                                      spids: [58329]
                                    )
                                    (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: [58425]
                                                        )
                                                      ]
                                                      spids: [58425]
                                                    )
                                                  ]
                                                  spids: [-1 58411]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:tdlname)
                                                      op: Equal
                                                      rhs: {(../bin/) ($ VSub_Name '$dlname')}
                                                      spids: [58438]
                                                    )
                                                  ]
                                                  spids: [58438]
                                                )
                                              ]
                                              spids: [58431 58443]
                                            )
                                          ]
                                          spids: [58348 58393 58446 -1]
                                        )
                                      ]
                                      spids: [58333 58345 58449]
                                    )
                                    (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: -1
                                          arg_word: {($ VSub_Name '$output')}
                                          spids: [58454]
                                        )
                                      ]
                                    )
                                    (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: -1
                                                  arg_word: {($ VSub_Name '$output')}
                                                  spids: [58564]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [-1 58559]
                                        )
                                      ]
                                      spids: [-1 58577]
                                    )
                                  ]
                                  spids: [57617 58580]
                                )
                              spids: [57611 57615]
                            )
                          ]
                          spids: [57603]
                        )
                      ]
                      op_id: Op_DPipe
                    )
                    (C {(func_show_eval)} 
                      {
                        (SQ 
                          <
'( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )'
                          >
                        )
                      } {(SQ <'exit $?'>)}
                    )
                  ]
                  spids: [57377 57379 58606 -1]
                )
              ]
              spids: [57370 57374 58609]
            )
            (C {(exit)} {($ VSub_Name '$EXIT_SUCCESS')})
          ]
          spids: [27917]
        )
      spids: [27912 27916]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (AndOr
                  children: [
                    (C {(test)} {(link)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$opt_mode'))})
                    (C {(test)} {(relink)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$opt_mode'))})
                  ]
                  op_id: Op_DPipe
                )
              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: [58649 58655]
                )
              }
            )
          ]
          spids: [-1 58644]
        )
      ]
      spids: [-1 58657]
    )
    (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: [58676]
                )
              ]
              spids: [58676]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:files) op:Equal rhs:{(SQ )} spids:[58680])]
              spids: [58680]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:rmforce) op:Equal rhs:{(false)} spids:[58683])]
              spids: [58683]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:exit_status) op:Equal rhs:{(0)} spids:[58687])]
              spids: [58687]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libtool_install_magic)
                  op: Equal
                  rhs: {($ VSub_Name '$magic')}
                  spids: [58700]
                )
              ]
              spids: [58700]
            )
            (ForEach
              iter_name: arg
              do_arg_iter: True
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name '$arg')}
                      arms: [
                        (case_arm
                          pat_list: [{(-f)}]
                          action: [
                            (Sentence
                              child: (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: [58733]
                                )
                              ]
                              spids: [58733]
                            )
                          ]
                          spids: [58720 58721 58736 -1]
                        )
                        (case_arm
                          pat_list: [{(-) (Lit_Other '*')}]
                          action: [(C {(func_append)} {(RM)} {(DQ (' ') ($ VSub_Name '$arg'))})]
                          spids: [58739 58741 58752 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [(C {(func_append)} {(files)} {(DQ (' ') ($ VSub_Name '$arg'))})]
                          spids: [58755 58756 58767 -1]
                        )
                      ]
                      spids: [58713 58717 58770]
                    )
                  ]
                  spids: [58710 58773]
                )
              spids: [-1 -1]
            )
            (AndOr
              children: [
                (C {(test)} {(-z)} {(DQ ($ VSub_Name '$RM'))})
                (C {(func_fatal_help)} {(DQ ('you must specify an RM program'))})
              ]
              op_id: Op_DAmp
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:rmdirs) op:Equal rhs:{(SQ )} spids:[58797])]
              spids: [58797]
            )
            (ForEach
              iter_name: file
              iter_words: [{($ VSub_Name '$files')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (C {(func_dirname)} {(DQ ($ VSub_Name '$file'))} {(DQ )} {(DQ (.))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dir)
                          op: Equal
                          rhs: {($ VSub_Name '$func_dirname_result')}
                          spids: [58827]
                        )
                      ]
                      spids: [58827]
                    )
                    (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: [58847]
                                )
                              ]
                              spids: [58847]
                            )
                          ]
                          spids: [-1 58844]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:odir)
                              op: Equal
                              rhs: {($ VSub_Name '$dir') (/) ($ VSub_Name '$objdir')}
                              spids: [58854]
                            )
                          ]
                          spids: [58854]
                        )
                      ]
                      spids: [58851 58860]
                    )
                    (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: [58870]
                        )
                      ]
                      spids: [58870]
                    )
                    (AndOr
                      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: [58886]
                            )
                          ]
                          spids: [58886]
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (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: [58922 58929 58931 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (C {(func_append)} {(rmdirs)} {(DQ (' ') ($ VSub_Name '$odir'))})
                                  ]
                                  spids: [58934 58935 58946 -1]
                                )
                              ]
                              spids: [58911 58919 58949]
                            )
                          ]
                          spids: [-1 58908]
                        )
                      ]
                      spids: [-1 58952]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (BraceGroup
                                      children: [
                                        (Sentence
                                          child: (C {(test)} {(-L)} {(DQ ($ VSub_Name '$file'))})
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_Great
                                          fd: -1
                                          arg_word: {(/dev/null)}
                                          spids: [58975]
                                        )
                                        (Redir
                                          op_id: Redir_GreatAnd
                                          fd: 2
                                          arg_word: {(1)}
                                          spids: [58978]
                                        )
                                      ]
                                      spids: [58962]
                                    )
                                    (AndOr
                                      children: [
                                        (BraceGroup
                                          children: [
                                            (Sentence
                                              child: (C {(test)} {(-h)} {(DQ ($ VSub_Name '$file'))})
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Great
                                              fd: -1
                                              arg_word: {(/dev/null)}
                                              spids: [58997]
                                            )
                                            (Redir
                                              op_id: Redir_GreatAnd
                                              fd: 2
                                              arg_word: {(1)}
                                              spids: [59000]
                                            )
                                          ]
                                          spids: [58984]
                                        )
                                        (C {(test)} {(-f)} {(DQ ($ VSub_Name '$file'))})
                                      ]
                                      op_id: Op_DPipe
                                    )
                                  ]
                                  op_id: Op_DPipe
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(Lit_Other ':')})]
                          spids: [-1 59015]
                        )
                        (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: [59035]
                                )
                              ]
                              spids: [59035]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [59021 59032]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {($ VSub_Name '$rmforce')})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                          spids: [59042 59047]
                        )
                      ]
                      spids: [-1 59053]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rmfiles)
                          op: Equal
                          rhs: {($ VSub_Name '$file')}
                          spids: [59057]
                        )
                      ]
                      spids: [59057]
                    )
                    (Case
                      to_match: {($ VSub_Name '$name')}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.la)}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(func_lalib_p)} {(DQ ($ VSub_Name '$file'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_source)} {($ VSub_Name '$dir') (/) ($ VSub_Name '$name')})
                                    (ForEach
                                      iter_name: n
                                      iter_words: [{($ VSub_Name '$library_names')}]
                                      do_arg_iter: False
                                      body: 
                                        (DoGroup
                                          children: [
                                            (C {(func_append)} {(rmfiles)} 
                                              {
                                                (DQ (' ') ($ VSub_Name '$odir') (/) ($ VSub_Name '$n'))
                                              }
                                            )
                                          ]
                                          spids: [59111 59126]
                                        )
                                      spids: [59107 59109]
                                    )
                                    (AndOr
                                      children: [
                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$old_library'))})
                                        (C {(func_append)} {(rmfiles)} 
                                          {
                                            (DQ (' ') ($ VSub_Name '$odir') (/) 
                                              ($ VSub_Name '$old_library')
                                            )
                                          }
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                    (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: [59174 59181 59183 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other '*')}]
                                                  action: [
                                                    (AndOr
                                                      children: [
                                                        (C {(test)} {(-n)} {(DQ ($ VSub_Name '$dlname'))})
                                                        (C {(func_append)} {(rmfiles)} 
                                                          {
                                                            (DQ (' ') ($ VSub_Name '$odir') (/) 
                                                              ($ VSub_Name '$dlname')
                                                            )
                                                          }
                                                        )
                                                      ]
                                                      op_id: Op_DAmp
                                                    )
                                                  ]
                                                  spids: [59186 59187 59210 -1]
                                                )
                                              ]
                                              spids: [59163 59171 59213]
                                            )
                                            (AndOr
                                              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)
                                                    )
                                                  }
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          ]
                                          spids: [59159 59160 59245 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(uninstall)}]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(test)} {(-n)} 
                                                          {(DQ ($ VSub_Name '$library_names'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_execute_cmds)} 
                                                      {(DQ ($ VSub_Name '$postuninstall_cmds'))} {(SQ <'$rmforce || exit_status=1'>)}
                                                    )
                                                  ]
                                                  spids: [-1 59263]
                                                )
                                              ]
                                              spids: [-1 59281]
                                            )
                                            (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: [-1 59296]
                                                )
                                              ]
                                              spids: [-1 59314]
                                            )
                                          ]
                                          spids: [59248 59249 59321 -1]
                                        )
                                      ]
                                      spids: [59152 59156 59324]
                                    )
                                  ]
                                  spids: [-1 59087]
                                )
                              ]
                              spids: [-1 59327]
                            )
                          ]
                          spids: [59069 59071 59330 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.lo)}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(func_lalib_p)} {(DQ ($ VSub_Name '$file'))})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(func_source)} {($ VSub_Name '$dir') (/) ($ VSub_Name '$name')})
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-n)} {(DQ ($ VSub_Name '$pic_object'))})
                                                    (C {(test)} {(none)} {(KW_Bang '!') (Lit_Other '=')} 
                                                      {(DQ ($ VSub_Name '$pic_object'))}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_append)} {(rmfiles)} 
                                              {
                                                (DQ (' ') ($ VSub_Name '$dir') (/) 
                                                  ($ VSub_Name '$pic_object')
                                                )
                                              }
                                            )
                                          ]
                                          spids: [-1 59396]
                                        )
                                      ]
                                      spids: [-1 59411]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(test)} {(-n)} 
                                                      {(DQ ($ VSub_Name '$non_pic_object'))}
                                                    )
                                                    (C {(test)} {(none)} {(KW_Bang '!') (Lit_Other '=')} 
                                                      {(DQ ($ VSub_Name '$non_pic_object'))}
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(func_append)} {(rmfiles)} 
                                              {
                                                (DQ (' ') ($ VSub_Name '$dir') (/) 
                                                  ($ VSub_Name '$non_pic_object')
                                                )
                                              }
                                            )
                                          ]
                                          spids: [-1 59443]
                                        )
                                      ]
                                      spids: [-1 59458]
                                    )
                                  ]
                                  spids: [-1 59352]
                                )
                              ]
                              spids: [-1 59461]
                            )
                          ]
                          spids: [59334 59336 59464 -1]
                        )
                        (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: [59488]
                                        )
                                      ]
                                      spids: [59488]
                                    )
                                    (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: [59518]
                                                )
                                              ]
                                              spids: [59518]
                                            )
                                            (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: [59536]
                                                )
                                              ]
                                              spids: [59536]
                                            )
                                            (C {(func_append)} {(rmfiles)} 
                                              {(DQ (' ') ($ VSub_Name '$file'))}
                                            )
                                          ]
                                          spids: [59499 59501 59558 -1]
                                        )
                                      ]
                                      spids: [59492 59496 59561]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(func_ltwrapper_p)} {(DQ ($ VSub_Name '$file'))})
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(func_ltwrapper_executable_p)} 
                                                          {(DQ ($ VSub_Name '$file'))}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_ltwrapper_scriptname)} 
                                                      {(DQ ($ VSub_Name '$file'))}
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:relink_command)
                                                          op: Equal
                                                          rhs: {(SQ )}
                                                          spids: [59599]
                                                        )
                                                      ]
                                                      spids: [59599]
                                                    )
                                                    (C {(func_source)} 
                                                      {
                                                        ($ VSub_Name 
'$func_ltwrapper_scriptname_result'
                                                        )
                                                      }
                                                    )
                                                    (C {(func_append)} {(rmfiles)} 
                                                      {
                                                        (DQ (' ') 
                                                          ($ VSub_Name 
'$func_ltwrapper_scriptname_result'
                                                          )
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [-1 59589]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:relink_command)
                                                      op: Equal
                                                      rhs: {(SQ )}
                                                      spids: [59620]
                                                    )
                                                  ]
                                                  spids: [59620]
                                                )
                                                (C {(func_source)} 
                                                  {($ VSub_Name '$dir') (/) 
                                                    ($ VSub_Name '$noexename')
                                                  }
                                                )
                                              ]
                                              spids: [59617 59630]
                                            )
                                            (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
                                                          children: [
                                                            (C {(test)} {(yes)} {(Lit_Other '=')} 
                                                              {(DQ ($ VSub_Name '$fast_install'))}
                                                            )
                                                            (C {(test)} {(-n)} 
                                                              {(DQ ($ VSub_Name '$relink_command'))}
                                                            )
                                                          ]
                                                          op_id: Op_DAmp
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(func_append)} {(rmfiles)} 
                                                      {
                                                        (DQ (' ') ($ VSub_Name '$odir') (/lt-) 
                                                          ($ VSub_Name '$name')
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [-1 59685]
                                                )
                                              ]
                                              spids: [-1 59700]
                                            )
                                            (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: [-1 59721]
                                                )
                                              ]
                                              spids: [-1 59737]
                                            )
                                          ]
                                          spids: [-1 59577]
                                        )
                                      ]
                                      spids: [-1 59740]
                                    )
                                  ]
                                  spids: [-1 59485]
                                )
                              ]
                              spids: [-1 59743]
                            )
                          ]
                          spids: [59468 59469 59746 -1]
                        )
                      ]
                      spids: [59062 59066 59749]
                    )
                    (C {(func_show_eval)} {(DQ ($ VSub_Name '$RM') (' ') ($ VSub_Name '$rmfiles'))} 
                      {(SQ <'exit_status=1'>)}
                    )
                  ]
                  spids: [58810 59765]
                )
              spids: [58806 58808]
            )
            (ForEach
              iter_name: dir
              iter_words: [{($ VSub_Name '$rmdirs')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {(-d)} {(DQ ($ VSub_Name '$dir'))})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(func_show_eval)} 
                              {(DQ ('rmdir ') ($ VSub_Name '$dir') (' >/dev/null 2>&1'))}
                            )
                          ]
                          spids: [-1 59796]
                        )
                      ]
                      spids: [-1 59808]
                    )
                  ]
                  spids: [59782 59811]
                )
              spids: [59778 59780]
            )
            (C {(exit)} {($ VSub_Name '$exit_status')})
          ]
          spids: [58669]
        )
      spids: [58664 58668]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (AndOr
                  children: [
                    (C {(test)} {(uninstall)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$opt_mode'))})
                    (C {(test)} {(clean)} {(Lit_Other '=')} {(DQ ($ VSub_Name '$opt_mode'))})
                  ]
                  op_id: Op_DPipe
                )
              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: [59852 59858]
                )
              }
            )
          ]
          spids: [-1 59847]
        )
      ]
      spids: [-1 59860]
    )
    (AndOr
      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: [59876]
                )
              ]
              spids: [59876]
            )
            (C {(func_fatal_help)} {(DQ ('you must specify a MODE'))})
          ]
          spids: [59873]
        )
      ]
      op_id: Op_DAmp
    )
    (AndOr
      children: [
        (C {(test)} {(-z)} {(DQ ($ VSub_Name '$exec_cmd'))})
        (C {(func_fatal_help)} {(DQ ("invalid operation mode '") ($ VSub_Name '$opt_mode') ("'"))})
      ]
      op_id: Op_DAmp
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$exec_cmd'))})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(eval)} {(exec)} {(DQ ($ VSub_Name '$exec_cmd'))})
            (C {(exit)} {($ VSub_Name '$EXIT_FAILURE')})
          ]
          spids: [-1 59921]
        )
      ]
      spids: [-1 59937]
    )
    (C {(exit)} {($ VSub_Name '$exit_status')})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:build_libtool_libs) op:Equal rhs:{(no)} spids:[59980])]
      spids: [59980]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:build_old_libs) op:Equal rhs:{(yes)} spids:[59983])]
      spids: [59983]
    )
    (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: [60001 60002 60007 -1]
                          )
                          (case_arm
                            pat_list: [{(Lit_Other '*')}]
                            action: [(C {(echo)} {(yes)})]
                            spids: [60009 60010 60015 -1]
                          )
                        ]
                        spids: [59995 59999 60017]
                      )
                    ]
                  )
                left_token: <Left_Backtick '`'>
                spids: [59994 60018]
              )
            }
          spids: [59993]
        )
      ]
      spids: [59993]
    )
  ]
)