(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 <"\u001b[0m">)}
                                  spids: [2299]
                                )
                              ]
                              spids: [2299]
                            )
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:tc_bold)
                                      op: Equal
                                      rhs: {(SQ <"\u001b[1m">)}
                                      spids: [2305]
                                    )
                                  ]
                                  spids: [2305]
                                )
                              terminator: <Op_Semi ";">
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:tc_standout)
                                  op: Equal
                                  rhs: {(SQ <"\u001b[7m">)}
                                  spids: [2311]
                                )
                              ]
                              spids: [2311]
                            )
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:tc_red)
                                      op: Equal
                                      rhs: {(SQ <"\u001b[31m">)}
                                      spids: [2317]
                                    )
                                  ]
                                  spids: [2317]
                                )
                              terminator: <Op_Semi ";">
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:tc_green)
                                  op: Equal
                                  rhs: {(SQ <"\u001b[32m">)}
                                  spids: [2323]
                                )
                              ]
                              spids: [2323]
                            )
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:tc_blue)
                                      op: Equal
                                      rhs: {(SQ <"\u001b[34m">)}
                                      spids: [2329]
                                    )
                                  ]
                                  spids: [2329]
                                )
                              terminator: <Op_Semi ";">
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:tc_cyan)
                                  op: Equal
                                  rhs: {(SQ <"\u001b[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: [9852]
                                    )
                                    (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: [9855]
                                    )
                                  ]
                                )
                              ]
                              spids: [9847 9879]
                            )
                          ]
                          spids: [-1 9805]
                        )
                      ]
                      else_action: [
                        (SimpleCommand
                          words: [{(cat)}]
                          redirects: [
                            (Redir
                              op_id: Redir_GreatAnd
                              fd: -1
                              arg_word: {(2)}
                              spids: [9887]
                            )
                            (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: [9890]
                            )
                          ]
                        )
                      ]
                      spids: [9882 9916]
                    )
                    (C {(exit)} {($ VSub_Name "$EXIT_MISMATCH")})
                  ]
                  spids: [-1 9786]
                )
              ]
              spids: [-1 9925]
            )
          ]
          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:[9956])]
              spids: [9956]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:opt_dlopen) op:Equal rhs:{(SQ )} spids:[9960])]
              spids: [9960]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:opt_dry_run)
                  op: Equal
                  rhs: {(false)}
                  spids: [9963]
                )
              ]
              spids: [9963]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:opt_help) op:Equal rhs:{(false)} spids:[9967])]
              spids: [9967]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:opt_mode) op:Equal rhs:{(SQ )} spids:[9971])]
              spids: [9971]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:opt_preserve_dup_deps)
                  op: Equal
                  rhs: {(false)}
                  spids: [9974]
                )
              ]
              spids: [9974]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:opt_quiet) op:Equal rhs:{(false)} spids:[9978])]
              spids: [9978]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:nonopt) op:Equal rhs:{(SQ )} spids:[9983])]
              spids: [9983]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:preserve_args)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [9986]
                )
              ]
              spids: [9986]
            )
            (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: [10022 10028]
                            )
                          }
                        )
                      terminator: <Op_Semi ";">
                    )
                    (C {(shift)})
                  ]
                  spids: [10001 10008 10034 -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: [10064 10070]
                            )
                          }
                        )
                      terminator: <Op_Semi ";">
                    )
                    (C {(shift)})
                  ]
                  spids: [10037 10050 10076 -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: [10106 10112]
                            )
                          }
                        )
                      terminator: <Op_Semi ";">
                    )
                    (C {(shift)})
                  ]
                  spids: [10079 10092 10118 -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: [10146 10152]
                            )
                          }
                        )
                      terminator: <Op_Semi ";">
                    )
                    (C {(shift)})
                  ]
                  spids: [10121 10132 10158 -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: [10188 10194]
                            )
                          }
                        )
                      terminator: <Op_Semi ";">
                    )
                    (C {(shift)})
                  ]
                  spids: [10161 10174 10200 -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: [10224 10230]
                            )
                          }
                        )
                      terminator: <Op_Semi ";">
                    )
                    (C {(shift)})
                  ]
                  spids: [10203 10210 10236 -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: [10270 10276]
                            )
                          }
                        )
                      terminator: <Op_Semi ";">
                    )
                    (C {(shift)})
                  ]
                  spids: [10239 10256 10282 -1]
                )
              ]
              spids: [9994 9998 10285]
            )
            (C {(func_quote_for_eval)} 
              {
                (BracedVarSub
                  token: <VSub_Number 1>
                  suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At "$@"))})
                  spids: [10295 10301]
                )
              }
            )
            (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: [10304]
                )
              ]
              spids: [10304]
            )
          ]
          spids: [9945]
        )
      spids: [9940 9944]
    )
    (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: [10360]
                        )
                      ]
                      spids: [10360]
                    )
                    (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: [10382]
                                )
                              ]
                              spids: [10382]
                            )
                          ]
                          spids: [10374 10379 10386 -1]
                        )
                        (case_arm
                          pat_list: [{(--config)}]
                          action: [(C {(func_config)})]
                          spids: [10390 10391 10395 -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: [10407 10412]
                                        ) ($ VSub_Number "$1")
                                      )
                                    }
                                  spids: [10405]
                                )
                              ]
                              spids: [10405]
                            )
                            (C {(shift)})
                          ]
                          spids: [10399 10402 10420 -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: [10428]
                                )
                              ]
                              spids: [10428]
                            )
                          ]
                          spids: [10424 10425 10431 -1]
                        )
                        (case_arm
                          pat_list: [{(--features)}]
                          action: [(C {(func_features)})]
                          spids: [10435 10436 10440 -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: [10455 10461]
                                    )
                                  }
                                )
                              terminator: <Op_Semi ";">
                            )
                            (C {(shift)})
                          ]
                          spids: [10444 10445 10466 -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: [10473]
                                )
                              ]
                              spids: [10473]
                            )
                          ]
                          spids: [10470 10471 10476 -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: [10483]
                                )
                              ]
                              spids: [10483]
                            )
                          ]
                          spids: [10480 10481 10488 -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: [10514]
                                )
                              ]
                              spids: [10514]
                            )
                            (Case
                              to_match: {($ VSub_Number "$1")}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(clean)}
                                    {(compile)}
                                    {(execute)}
                                    {(finish)}
                                    {(install)}
                                    {(link)}
                                    {(relink)}
                                    {(uninstall)}
                                  ]
                                  spids: [10529 10544 10546 -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: [10565]
                                        )
                                      ]
                                      spids: [10565]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Break break>
                                    )
                                  ]
                                  spids: [10554 10555 10572 -1]
                                )
                              ]
                              spids: [10518 10522 10575]
                            )
                            (C {(shift)})
                          ]
                          spids: [10492 10493 10581 -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: [10591]
                                )
                              ]
                              spids: [10591]
                            )
                            (C {(func_append)} {(preserve_args)} {(DQ (" ") ($ VSub_Name "$_G_opt"))})
                          ]
                          spids: [10585 10588 10605 -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: [10617]
                                )
                              ]
                              spids: [10617]
                            )
                            (C {(func_append)} {(preserve_args)} {(DQ (" ") ($ VSub_Name "$_G_opt"))})
                          ]
                          spids: [10609 10614 10631 -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: [10639]
                                )
                              ]
                              spids: [10639]
                            )
                            (C {(func_append)} {(preserve_args)} {(DQ (" ") ($ VSub_Name "$_G_opt"))})
                          ]
                          spids: [10635 10636 10653 -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: [10663]
                                )
                              ]
                              spids: [10663]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:opt_verbose)
                                  op: Equal
                                  rhs: {(false)}
                                  spids: [10667]
                                )
                              ]
                              spids: [10667]
                            )
                            (C {(func_append)} {(preserve_args)} {(DQ (" ") ($ VSub_Name "$_G_opt"))})
                          ]
                          spids: [10657 10660 10681 -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: [10707]
                                )
                              ]
                              spids: [10707]
                            )
                            (C {(func_append)} {(preserve_args)} 
                              {(DQ (" ") ($ VSub_Name "$_G_opt") (" ") ($ VSub_Number "$1"))}
                            )
                            (C {(func_enable_tag)} {(DQ ($ VSub_Number "$1"))})
                            (C {(shift)})
                          ]
                          spids: [10685 10686 10733 -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: [10742]
                                )
                              ]
                              spids: [10742]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:opt_verbose)
                                  op: Equal
                                  rhs: {(Lit_Other ":")}
                                  spids: [10746]
                                )
                              ]
                              spids: [10746]
                            )
                            (C {(func_append)} {(preserve_args)} {(DQ (" ") ($ VSub_Name "$_G_opt"))})
                          ]
                          spids: [10737 10740 10760 -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: [10779 10785]
                                    )
                                  }
                                )
                              terminator: <Op_Semi ";">
                            )
                            (Sentence
                              child: (C {(shift)})
                              terminator: <Op_Semi ";">
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [10768 10769 10793 -1]
                        )
                      ]
                      spids: [10367 10371 10796]
                    )
                  ]
                  spids: [10357 10799]
                )
            )
            (C {(func_quote_for_eval)} 
              {
                (BracedVarSub
                  token: <VSub_Number 1>
                  suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(DQ ($ VSub_At "$@"))})
                  spids: [10810 10816]
                )
              }
            )
            (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: [10819]
                )
              ]
              spids: [10819]
            )
          ]
          spids: [10331]
        )
      spids: [10326 10330]
    )
    (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: [10871]
                        )
                      ]
                      spids: [10871]
                    )
                    (C {(shift)})
                  ]
                  spids: [-1 10868]
                )
              ]
              spids: [-1 10878]
            )
            (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: [10963]
                        )
                      ]
                      spids: [10963]
                    )
                  ]
                  spids: [10923 10956 10967 -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: [10974]
                        )
                      ]
                      spids: [10974]
                    )
                  ]
                  spids: [10970 10971 10978 -1]
                )
              ]
              spids: [10908 10912 10981]
            )
            (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: [11095]
                                )
                              ]
                            )
                            (C {(exit)} {($ VSub_Name "$EXIT_FAILURE")})
                          ]
                          spids: [-1 11079]
                        )
                      ]
                      spids: [-1 11104]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:generic_help)
                          op: Equal
                          rhs: {($ VSub_Name "$help")}
                          spids: [11112]
                        )
                      ]
                      spids: [11112]
                    )
                    (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: [11116]
                        )
                      ]
                      spids: [11116]
                    )
                  ]
                  spids: [10989]
                )
              ]
              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: [11136 11142]
                )
              }
            )
            (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: [11145]
                )
              ]
              spids: [11145]
            )
          ]
          spids: [10850]
        )
      spids: [10845 10849]
    )
    (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: [11166 11172]
        )
      }
    )
    (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: [11200]
        )
      ]
      spids: [11200]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:magic_exe)
          op: Equal
          rhs: {(SQ <"%%%MAGIC EXE variable%%%">)}
          spids: [11205]
        )
      ]
      spids: [11205]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:extracted_archives) op:Equal rhs:{(SQ )} spids:[11214])]
      spids: [11214]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:extracted_serial) op:Equal rhs:{(0)} spids:[11216])]
      spids: [11216]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:exec_cmd) op:Equal rhs:{(SQ )} spids:[11229])]
      spids: [11229]
    )
    (FuncDef
      name: func_fallback_echo
      body: 
        (BraceGroup
          children: [(C {(eval)} {(SQ <"cat <<_LTECHO_EOF\n"> <"$1\n"> <_LTECHO_EOF>)})]
          spids: [11241]
        )
      spids: [11236 11240]
    )
    (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:[11279])
                (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[11283])
              ]
            )
          ]
          spids: [11269]
        )
      spids: [11264 11268]
    )
    (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:[11330])]
                    )
                    (C {(func_generated_by_libtool_p)})
                  ]
                  negated: False
                )
              ]
              op_id: Op_DAmp
            )
          ]
          spids: [11306]
        )
      spids: [11301 11305]
    )
    (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:[11369])]
              spids: [11369]
            )
            (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: [11397]
                                    )
                                    (Redir
                                      op_id: Redir_Less
                                      fd: -1
                                      arg_word: {(DQ ($ VSub_Number "$1"))}
                                      spids: [11400]
                                    )
                                  ]
                                )
                              ]
                              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: [11451]
                                            )
                                          ]
                                          spids: [11451]
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Break break>
                                    )
                                  ]
                                  spids: [11439 11449 11456 -1]
                                )
                              ]
                              spids: [11432 11436 11459]
                            )
                          ]
                          spids: [11424 11462]
                        )
                      spids: [11414 -1]
                    )
                    (SimpleCommand
                      words: [{(exec)}]
                      redirects: [
                        (Redir
                          op_id: Redir_LessAnd
                          fd: 0
                          arg_word: {(5)}
                          spids: [11467]
                        )
                        (Redir
                          op_id: Redir_LessAnd
                          fd: 5
                          arg_word: {(-)}
                          spids: [11470]
                        )
                      ]
                    )
                  ]
                  spids: [-1 11406]
                )
              ]
              spids: [-1 11474]
            )
            (C {(test)} {(yes)} {(Lit_Other "=")} {(DQ ($ VSub_Name "$lalib_p"))})
          ]
          spids: [11366]
        )
      spids: [11361 11365]
    )
    (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: [11523]
                        )
                        (Redir
                          op_id: Redir_Great
                          fd: 2
                          arg_word: {(/dev/null)}
                          spids: [11529]
                        )
                      ]
                    )
                    (C {(func_generated_by_libtool_p)})
                  ]
                  negated: False
                )
              ]
              op_id: Op_DAmp
            )
          ]
          spids: [11507]
        )
      spids: [11502 11506]
    )
    (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: [11559]
                )
              ]
              spids: [11559]
            )
            (Case
              to_match: {($ VSub_Number "$1")}
              arms: [
                (case_arm
                  pat_list: [{(Lit_Other "*") (.exe)}]
                  spids: [11569 11571 11573 -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: [11579]
                        )
                      ]
                      spids: [11579]
                    )
                  ]
                  spids: [11576 11577 11582 -1]
                )
              ]
              spids: [11562 11566 11585]
            )
            (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:[11599])
                (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[11602])
              ]
            )
          ]
          spids: [11556]
        )
      spids: [11551 11555]
    )
    (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: [11656]
                )
              ]
              spids: [11656]
            )
          ]
          spids: [11625]
        )
      spids: [11620 11624]
    )
    (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: [11686]
        )
      spids: [11681 11685]
    )
    (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: [11731]
                    )
                  ]
                  spids: [11731]
                )
              terminator: <Op_Semi ";">
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{(SQ <"~">)} spids:[11735])]
              spids: [11735]
            )
            (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: [11753]
                        )
                      ]
                      spids: [11753]
                    )
                    (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: [11766]
                        )
                      ]
                      spids: [11766]
                    )
                    (C {(func_show_eval)} {(DQ ($ VSub_Name "$cmd"))} 
                      {
                        (DQ 
                          (BracedVarSub
                            token: <VSub_Number 2>
                            suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(":")})
                            spids: [11777 11781]
                          )
                        )
                      }
                    )
                  ]
                  spids: [11750 11785]
                )
              spids: [11746 11748]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:IFS)
                  op: Equal
                  rhs: {($ VSub_Name "$save_ifs")}
                  spids: [11788]
                )
              ]
              spids: [11788]
            )
          ]
          spids: [11724]
        )
      spids: [11719 11723]
    )
    (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: [11832 11841 11849 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [(C {(.)} {(DQ (./) ($ VSub_Number "$1"))})]
                  spids: [11852 11853 11862 -1]
                )
              ]
              spids: [11825 11829 11865]
            )
          ]
          spids: [11818]
        )
      spids: [11813 11817]
    )
    (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: [11888]
                )
              ]
              spids: [11888]
            )
            (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: [11918]
                        )
                      ]
                      spids: [11918]
                    )
                  ]
                  spids: [11899 11901 11923 -1]
                )
              ]
              spids: [11892 11896 11926]
            )
          ]
          spids: [11885]
        )
      spids: [11880 11884]
    )
    (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: [11981]
                        )
                      ]
                      spids: [11981]
                    )
                  ]
                  spids: [11957 11964 11988 -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: [11999]
                        )
                      ]
                      spids: [11999]
                    )
                  ]
                  spids: [11991 11992 12003 -1]
                )
              ]
              spids: [11948 11954 12006]
            )
          ]
          spids: [11945]
        )
      spids: [11940 11944]
    )
    (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: [12065]
                        )
                      ]
                      spids: [12065]
                    )
                    (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: [12077 12089]
                        )
                      spids: [12073 12075]
                    )
                    (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: [12093 12097]
                              )
                            }
                          spids: [12092]
                        )
                      ]
                      spids: [12092]
                    )
                    (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: [12101 12105]
                              )
                            }
                          spids: [12100]
                        )
                      ]
                      spids: [12100]
                    )
                    (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: [12124 12189 12191 -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: [12228]
                                                    )
                                                    (Redir
                                                      op_id: Redir_Great
                                                      fd: -1
                                                      arg_word: {(/dev/null)}
                                                      spids: [12234]
                                                    )
                                                  ]
                                                )
                                              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: [12268]
                                                              )
                                                            ]
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick "`">
                                                    spids: [12249 12271]
                                                  )
                                                )
                                              }
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:CC_quoted)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [12275]
                                                )
                                              ]
                                              spids: [12275]
                                            )
                                            (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: [12287 12303]
                                                )
                                              spids: [12283 12285]
                                            )
                                            (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: [12307 12311]
                                                      )
                                                    }
                                                  spids: [12306]
                                                )
                                              ]
                                              spids: [12306]
                                            )
                                            (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: [12315 12319]
                                                      )
                                                    }
                                                  spids: [12314]
                                                )
                                              ]
                                              spids: [12314]
                                            )
                                            (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: [12413]
                                                        )
                                                      ]
                                                      spids: [12413]
                                                    )
                                                    (ControlFlow
                                                      token: <ControlFlow_Break break>
                                                    )
                                                  ]
                                                  spids: [12333 12398 12420 -1]
                                                )
                                              ]
                                              spids: [12322 12329 12423]
                                            )
                                          ]
                                          spids: [-1 12239]
                                        )
                                      ]
                                      spids: [-1 12426]
                                    )
                                  ]
                                  spids: [12215 12429]
                                )
                              spids: [12211 12213]
                            )
                            (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 12455]
                                )
                              ]
                              spids: [-1 12478]
                            )
                          ]
                          spids: [12202 12203 12481 -1]
                        )
                      ]
                      spids: [12108 12112 12484]
                    )
                  ]
                  spids: [-1 12062]
                )
              ]
              spids: [-1 12487]
            )
          ]
          spids: [12034]
        )
      spids: [12029 12033]
    )
    (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: [12511]
                )
              ]
              spids: [12511]
            )
            (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: [12531]
                        )
                      ]
                      spids: [12531]
                    )
                  ]
                  spids: [-1 12528]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:write_lobj)
                      op: Equal
                      rhs: {(none)}
                      spids: [12540]
                    )
                  ]
                  spids: [12540]
                )
              ]
              spids: [12537 12544]
            )
            (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: [12564]
                        )
                      ]
                      spids: [12564]
                    )
                  ]
                  spids: [-1 12561]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:write_oldobj)
                      op: Equal
                      rhs: {(none)}
                      spids: [12573]
                    )
                  ]
                  spids: [12573]
                )
              ]
              spids: [12570 12577]
            )
            (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: [12590]
                        )
                        (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: [12596]
                        )
                      ]
                    )
                    (C {($ VSub_Name "$MV")} {(DQ (${ VSub_Name write_libobj) (T))} 
                      {(DQ ($ VSub_Name "$write_libobj"))}
                    )
                  ]
                  spids: [12585]
                )
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [12508]
        )
      spids: [12503 12507]
    )
    (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: [12693]
                )
              ]
              spids: [12693]
            )
            (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: [12741]
                                          )
                                        ]
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick "`">
                                spids: [12732 12743]
                              )
                            }
                          spids: [12731]
                        )
                      ]
                      spids: [12731]
                    )
                    (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: [12773 12790]
                                      )
                                    }
                                  spids: [12772]
                                )
                              ]
                              spids: [12772]
                            )
                          ]
                          spids: [-1 12769]
                        )
                      ]
                      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: [12796]
                            )
                          ]
                          spids: [12796]
                        )
                      ]
                      spids: [12793 12799]
                    )
                  ]
                  spids: [-1 12708]
                )
              ]
              spids: [-1 12802]
            )
          ]
          spids: [12686]
        )
      spids: [12681 12685]
    )
    (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: [12857]
                )
              ]
              spids: [12857]
            )
            (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: [12874]
                        )
                      ]
                      spids: [12874]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {(Lit_Other ":")}
                          spids: [12878]
                        )
                      ]
                      spids: [12878]
                    )
                    (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: [12894]
                                )
                              ]
                              spids: [12894]
                            )
                            (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: [12933]
                                                )
                                              ]
                                              spids: [12933]
                                            )
                                          ]
                                          spids: [-1 12930]
                                        )
                                      ]
                                      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: [12937 12950]
                                    )
                                  ]
                                  spids: [-1 12916]
                                )
                              ]
                              spids: [-1 12953]
                            )
                          ]
                          spids: [12891 12956]
                        )
                      spids: [12887 12889]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:IFS)
                          op: Equal
                          rhs: {($ VSub_Name "$oldIFS")}
                          spids: [12959]
                        )
                      ]
                      spids: [12959]
                    )
                  ]
                  spids: [-1 12871]
                )
              ]
              spids: [-1 12963]
            )
          ]
          spids: [12846]
        )
      spids: [12841 12845]
    )
    (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: [13061]
                                          )
                                        ]
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick "`">
                                spids: [13054 13063]
                              )
                            }
                          spids: [13053]
                        )
                      ]
                      spids: [13053]
                    )
                    (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: [13086]
                                )
                              ]
                              spids: [13086]
                            )
                          ]
                          spids: [-1 13079]
                        )
                      ]
                      spids: [-1 13089]
                    )
                  ]
                  spids: [-1 13050]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:func_cygpath_result)
                      op: Equal
                      rhs: {(SQ )}
                      spids: [13095]
                    )
                  ]
                  spids: [13095]
                )
                (C {(func_error)} 
                  {
                    (DQ ("LT_CYGPATH is empty or specifies non-existent file: '") 
                      ($ VSub_Name "$LT_CYGPATH") ("'")
                    )
                  }
                )
              ]
              spids: [13092 13107]
            )
          ]
          spids: [13022]
        )
      spids: [13017 13021]
    )
    (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: [13157]
                                      )
                                    ]
                                    spids: [13143 13155]
                                  )
                                  (C {($ VSub_Name "$SED")} {(-e)} {(SQ <"s/[ ]*$//">)} {(-e)} 
                                    {(DQ ($ VSub_Name "$sed_naive_backslashify"))}
                                  )
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_Backtick "`">
                        spids: [13142 13176]
                      )
                    }
                  spids: [13141]
                )
              ]
              spids: [13141]
            )
          ]
          spids: [13130]
        )
      spids: [13125 13129]
    )
    (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: [13260]
                        )
                      ]
                      spids: [13260]
                    )
                  ]
                  spids: [-1 13230]
                )
              ]
              spids: [-1 13264]
            )
          ]
          spids: [13202]
        )
      spids: [13197 13201]
    )
    (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: [13373]
                                )
                              ]
                              spids: [13373]
                            )
                            (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: [13384 13401]
                                      )
                                    }
                                  spids: [13383]
                                )
                              ]
                              spids: [13383]
                            )
                          ]
                          spids: [-1 13370]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:func_to_host_path_result)
                              op: Equal
                              rhs: {($ VSub_Number "$3")}
                              spids: [13407]
                            )
                          ]
                          spids: [13407]
                        )
                      ]
                      spids: [13404 13411]
                    )
                  ]
                  spids: [-1 13318]
                )
              ]
              spids: [-1 13414]
            )
          ]
          spids: [13290]
        )
      spids: [13285 13289]
    )
    (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: [13455]
                        )
                      ]
                      spids: [13455]
                    )
                  ]
                  spids: [13451 13453 13460 -1]
                )
              ]
              spids: [13444 13448 13463]
            )
            (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: [13473 13475 13486 -1]
                )
              ]
              spids: [13466 13470 13489]
            )
          ]
          spids: [13437]
        )
      spids: [13432 13436]
    )
    (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: [13535]
        )
      spids: [13530 13534]
    )
    (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: [13598]
                        )
                      ]
                      spids: [13598]
                    )
                  ]
                  spids: [13588 13595 13602 -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: [13616]
                        )
                      ]
                      spids: [13616]
                    )
                  ]
                  spids: [13605 13606 13620 -1]
                )
              ]
              spids: [13579 13585 13623]
            )
          ]
          spids: [13572]
        )
      spids: [13567 13571]
    )
    (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: [13646]
                )
              ]
              spids: [13646]
            )
          ]
          spids: [13643]
        )
      spids: [13638 13642]
    )
    (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: [13680]
                )
              ]
              spids: [13680]
            )
            (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: [13705]
                        )
                      ]
                      spids: [13705]
                    )
                  ]
                  spids: [-1 13695]
                )
              ]
              spids: [-1 13709]
            )
            (C {(func_convert_file_check)} {(DQ ($ VSub_Number "$1"))} 
              {(DQ ($ VSub_Name "$func_to_host_file_result"))}
            )
          ]
          spids: [13673]
        )
      spids: [13668 13672]
    )
    (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: [13750]
                )
              ]
              spids: [13750]
            )
            (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: [13777 13785]
                              )
                            }
                          spids: [13776]
                        )
                      ]
                      spids: [13776]
                    )
                  ]
                  spids: [-1 13765]
                )
              ]
              spids: [-1 13788]
            )
            (C {(func_convert_file_check)} {(DQ ($ VSub_Number "$1"))} 
              {(DQ ($ VSub_Name "$func_to_host_file_result"))}
            )
          ]
          spids: [13743]
        )
      spids: [13738 13742]
    )
    (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: [13829]
                )
              ]
              spids: [13829]
            )
            (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: [13854]
                        )
                      ]
                      spids: [13854]
                    )
                  ]
                  spids: [-1 13844]
                )
              ]
              spids: [-1 13858]
            )
            (C {(func_convert_file_check)} {(DQ ($ VSub_Number "$1"))} 
              {(DQ ($ VSub_Name "$func_to_host_file_result"))}
            )
          ]
          spids: [13822]
        )
      spids: [13817 13821]
    )
    (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: [13899]
                )
              ]
              spids: [13899]
            )
            (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: [13933]
                        )
                      ]
                      spids: [13933]
                    )
                  ]
                  spids: [-1 13914]
                )
              ]
              spids: [-1 13937]
            )
            (C {(func_convert_file_check)} {(DQ ($ VSub_Number "$1"))} 
              {(DQ ($ VSub_Name "$func_to_host_file_result"))}
            )
          ]
          spids: [13892]
        )
      spids: [13887 13891]
    )
    (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: [13981]
                )
              ]
              spids: [13981]
            )
            (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: [14019]
                        )
                      ]
                      spids: [14019]
                    )
                  ]
                  spids: [-1 13996]
                )
              ]
              spids: [-1 14023]
            )
            (C {(func_convert_file_check)} {(DQ ($ VSub_Number "$1"))} 
              {(DQ ($ VSub_Name "$func_to_host_file_result"))}
            )
          ]
          spids: [13974]
        )
      spids: [13969 13973]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:to_host_path_cmd) op:Equal rhs:{(SQ )} spids:[14111])]
      spids: [14111]
    )
    (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: [14153]
                        )
                      ]
                      spids: [14153]
                    )
                  ]
                  spids: [-1 14136]
                )
              ]
              spids: [-1 14158]
            )
          ]
          spids: [14118]
        )
      spids: [14113 14117]
    )
    (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: [14178]
        )
      spids: [14173 14177]
    )
    (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: [14215]
                )
              ]
              spids: [14215]
            )
          ]
          spids: [14212]
        )
      spids: [14207 14211]
    )
    (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: [14249]
                )
              ]
              spids: [14249]
            )
            (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: [14290]
                        )
                      ]
                      spids: [14290]
                    )
                    (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: [14301]
                        )
                      ]
                      spids: [14301]
                    )
                    (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 14264]
                )
              ]
              spids: [-1 14343]
            )
          ]
          spids: [14242]
        )
      spids: [14237 14241]
    )
    (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: [14373]
                )
              ]
              spids: [14373]
            )
            (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: [14406]
                        )
                      ]
                      spids: [14406]
                    )
                    (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: [14411 14421]
                              )
                            }
                          spids: [14410]
                        )
                      ]
                      spids: [14410]
                    )
                    (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 14388]
                )
              ]
              spids: [-1 14462]
            )
          ]
          spids: [14366]
        )
      spids: [14361 14365]
    )
    (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: [14492]
                )
              ]
              spids: [14492]
            )
            (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: [14525]
                        )
                      ]
                      spids: [14525]
                    )
                    (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: [14536]
                        )
                      ]
                      spids: [14536]
                    )
                    (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 14507]
                )
              ]
              spids: [-1 14578]
            )
          ]
          spids: [14485]
        )
      spids: [14480 14484]
    )
    (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: [14608]
                )
              ]
              spids: [14608]
            )
            (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: [14641]
                        )
                      ]
                      spids: [14641]
                    )
                    (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: [14663]
                        )
                      ]
                      spids: [14663]
                    )
                    (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 14623]
                )
              ]
              spids: [-1 14701]
            )
          ]
          spids: [14601]
        )
      spids: [14596 14600]
    )
    (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: [14734]
                )
              ]
              spids: [14734]
            )
            (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: [14775]
                        )
                      ]
                      spids: [14775]
                    )
                    (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: [14797]
                        )
                      ]
                      spids: [14797]
                    )
                    (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 14749]
                )
              ]
              spids: [-1 14835]
            )
          ]
          spids: [14727]
        )
      spids: [14722 14726]
    )
    (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: [14866 14906]
                      )
                    }
                  spids: [14865]
                )
              ]
              spids: [14865]
            )
            (C {(test)} {(DEF)} {(Lit_Other "=")} {(DQ ($ VSub_Name "$func_dll_def_p_tmp"))})
          ]
          spids: [14858]
        )
      spids: [14853 14857]
    )
    (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: [14942]
                )
              ]
              spids: [14942]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:srcfile)
                  op: Equal
                  rhs: {($ VSub_Name "$nonopt")}
                  spids: [14945]
                )
              ]
              spids: [14945]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:suppress_opt)
                  op: Equal
                  rhs: {(yes)}
                  spids: [14952]
                )
              ]
              spids: [14952]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:suppress_output)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [14956]
                )
              ]
              spids: [14956]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:arg_mode) op:Equal rhs:{(normal)} spids:[14959])]
              spids: [14959]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:libobj) op:Equal rhs:{(SQ )} spids:[14963])]
              spids: [14963]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:later) op:Equal rhs:{(SQ )} spids:[14966])]
              spids: [14966]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:pie_flag) op:Equal rhs:{(SQ )} spids:[14969])]
              spids: [14969]
            )
            (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: [14997]
                                )
                              ]
                              spids: [14997]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg_mode)
                                  op: Equal
                                  rhs: {(normal)}
                                  spids: [15001]
                                )
                              ]
                              spids: [15001]
                            )
                          ]
                          spids: [14988 14990 15005 -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: [15014]
                                )
                              ]
                              spids: [15014]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg_mode)
                                  op: Equal
                                  rhs: {(normal)}
                                  spids: [15018]
                                )
                              ]
                              spids: [15018]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [15009 15011 15025 -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: [15068]
                                        )
                                      ]
                                      spids: [15068]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [15045 15046 15075 -1]
                                )
                                (case_arm
                                  pat_list: [{(-pie)} {(-fpie)} {(-fPIE)}]
                                  action: [
                                    (C {(func_append)} {(pie_flag)} {(DQ (" ") ($ VSub_Name "$arg"))})
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [15079 15088 15104 -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: [15108 15121 15137 -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: [15145]
                                        )
                                      ]
                                      spids: [15145]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [15141 15142 15152 -1]
                                )
                                (case_arm
                                  pat_list: [{(-Xcompiler)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:arg_mode)
                                          op: Equal
                                          rhs: {(arg)}
                                          spids: [15160]
                                        )
                                      ]
                                      spids: [15160]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [15156 15157 15173 -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: [15200]
                                        )
                                      ]
                                      spids: [15200]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:lastarg)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [15204]
                                        )
                                      ]
                                      spids: [15204]
                                    )
                                    (Sentence
                                      child: 
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:save_ifs)
                                              op: Equal
                                              rhs: {($ VSub_Name "$IFS")}
                                              spids: [15207]
                                            )
                                          ]
                                          spids: [15207]
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {(Lit_Comma ",")}
                                          spids: [15211]
                                        )
                                      ]
                                      spids: [15211]
                                    )
                                    (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: [15227]
                                                )
                                              ]
                                              spids: [15227]
                                            )
                                            (C {(func_append_quoted)} {(lastarg)} 
                                              {(DQ ($ VSub_Name "$arg"))}
                                            )
                                          ]
                                          spids: [15224 15240]
                                        )
                                      spids: [15220 15222]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {($ VSub_Name "$save_ifs")}
                                          spids: [15243]
                                        )
                                      ]
                                      spids: [15243]
                                    )
                                    (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: [15261]
                                        )
                                      ]
                                      spids: [15261]
                                    )
                                    (C {(func_append)} {(base_compile)} 
                                      {(DQ (" ") ($ VSub_Name "$lastarg"))}
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [15180 15183 15283 -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: [15303]
                                        )
                                      ]
                                      spids: [15303]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:srcfile)
                                          op: Equal
                                          rhs: {($ VSub_Name "$arg")}
                                          spids: [15307]
                                        )
                                      ]
                                      spids: [15307]
                                    )
                                  ]
                                  spids: [15287 15288 15311 -1]
                                )
                              ]
                              spids: [15038 15042 15314]
                            )
                          ]
                          spids: [15029 15031 15320 -1]
                        )
                      ]
                      spids: [14981 14985 15323]
                    )
                    (C {(func_append_quoted)} {(base_compile)} {(DQ ($ VSub_Name "$lastarg"))})
                  ]
                  spids: [14978 15343]
                )
              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: [15357 15358 15368 -1]
                )
                (case_arm
                  pat_list: [{(target)}]
                  action: [(C {(func_fatal_error)} {(DQ ("you must specify a target with '-o'"))})]
                  spids: [15371 15372 15382 -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: [15413]
                                )
                              ]
                              spids: [15413]
                            )
                          ]
                          spids: [15403]
                        )
                      ]
                      op_id: Op_DAmp
                    )
                  ]
                  spids: [15385 15386 15420 -1]
                )
              ]
              spids: [15350 15354 15423]
            )
            (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: [15562]
                        )
                      ]
                      spids: [15562]
                    )
                  ]
                  spids: [15442 15552 15566 -1]
                )
              ]
              spids: [15435 15439 15569]
            )
            (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: [15591]
                        )
                      ]
                      spids: [15591]
                    )
                  ]
                  spids: [15580 15582 15594 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (C {(func_fatal_error)} 
                      {
                        (DQ ("cannot determine name of library object from '") ($ VSub_Name "$libobj") 
                          ("'")
                        )
                      }
                    )
                  ]
                  spids: [15597 15598 15610 -1]
                )
              ]
              spids: [15573 15577 15613]
            )
            (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: [15667]
                                )
                              ]
                              spids: [15667]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [15642 15643 15674 -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: [15682]
                                )
                              ]
                              spids: [15682]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_old_libs)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [15686]
                                )
                              ]
                              spids: [15686]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [15678 15679 15693 -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: [15701]
                                )
                              ]
                              spids: [15701]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [15697 15698 15708 -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: [15716]
                                )
                              ]
                              spids: [15716]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [15712 15713 15723 -1]
                        )
                      ]
                      spids: [15635 15639 15726]
                    )
                  ]
                  spids: [15632 15729]
                )
              spids: [15628 15630]
            )
            (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: [15807]
                )
              ]
              spids: [15807]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:xdir)
                  op: Equal
                  rhs: {($ VSub_Name "$func_dirname_result")}
                  spids: [15811]
                )
              ]
              spids: [15811]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:lobj)
                  op: Equal
                  rhs: {($ VSub_Name "$xdir") ($ VSub_Name "$objdir") (/) ($ VSub_Name "$objname")}
                  spids: [15815]
                )
              ]
              spids: [15815]
            )
            (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: [15863]
                        )
                      ]
                      spids: [15863]
                    )
                  ]
                  spids: [-1 15860]
                )
              ]
              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: [15881]
                    )
                  ]
                  spids: [15881]
                )
              ]
              spids: [15878 15894]
            )
            (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: [15934]
                        )
                      ]
                      spids: [15934]
                    )
                  ]
                  spids: [15909 15931 15938 -1]
                )
              ]
              spids: [15902 15906 15941]
            )
            (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: [15977]
                        )
                      ]
                      spids: [15977]
                    )
                  ]
                  spids: [-1 15970]
                )
              ]
              spids: [-1 15981]
            )
            (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: [16010 16024]
                              ) (.) ($ VSub_Name "$objext")
                            }
                          spids: [16009]
                        )
                      ]
                      spids: [16009]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:lockfile)
                          op: Equal
                          rhs: {($ VSub_Name "$output_obj") (.lock)}
                          spids: [16029]
                        )
                      ]
                      spids: [16029]
                    )
                  ]
                  spids: [-1 16006]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:output_obj)
                      op: Equal
                      rhs: {(SQ )}
                      spids: [16037]
                    )
                  ]
                  spids: [16037]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:need_locks)
                      op: Equal
                      rhs: {(no)}
                      spids: [16040]
                    )
                  ]
                  spids: [16040]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:lockfile)
                      op: Equal
                      rhs: {(SQ )}
                      spids: [16044]
                    )
                  ]
                  spids: [16044]
                )
              ]
              spids: [16034 16047]
            )
            (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: [16091]
                                    )
                                  ]
                                )
                              ]
                              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: [16095 16112]
                        )
                    )
                  ]
                  spids: [-1 16072]
                )
                (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: [16157]
                                              )
                                            ]
                                          )
                                        ]
                                      )
                                    left_token: <Left_Backtick "`">
                                    spids: [16152 16159]
                                  ) ("\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 16142]
                        )
                      ]
                      spids: [-1 16186]
                    )
                    (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: [16205]
                        )
                      ]
                    )
                  ]
                  spids: [16115 16128]
                )
              ]
              spids: [-1 16212]
            )
            (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: [16258]
                )
              ]
              spids: [16258]
            )
            (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: [16269]
                )
              ]
              spids: [16269]
            )
            (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: [16298]
                        )
                      ]
                      spids: [16298]
                    )
                    (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: [16320]
                                )
                              ]
                              spids: [16320]
                            )
                          ]
                          spids: [-1 16317]
                        )
                      ]
                      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: [16337]
                            )
                          ]
                          spids: [16337]
                        )
                      ]
                      spids: [16330 16345]
                    )
                    (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 16369]
                        )
                      ]
                      spids: [-1 16386]
                    )
                    (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: [16428]
                                                      )
                                                    ]
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick "`">
                                            spids: [16423 16430]
                                          )
                                        )
                                      } {(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: [16457]
                                              )
                                            ]
                                          )
                                        ]
                                      )
                                    left_token: <Left_Backtick "`">
                                    spids: [16452 16459]
                                  ) ("\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 16442]
                        )
                      ]
                      spids: [-1 16490]
                    )
                    (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 16526]
                        )
                      ]
                      spids: [-1 16542]
                    )
                    (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: [16566]
                                )
                              ]
                              spids: [16566]
                            )
                          ]
                          spids: [-1 16563]
                        )
                      ]
                      spids: [-1 16572]
                    )
                  ]
                  spids: [-1 16291]
                )
              ]
              spids: [-1 16575]
            )
            (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: [16620]
                                )
                              ]
                              spids: [16620]
                            )
                          ]
                          spids: [-1 16613]
                        )
                      ]
                      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: [16632]
                            )
                          ]
                          spids: [16632]
                        )
                      ]
                      spids: [16629 16642]
                    )
                    (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 16658]
                        )
                      ]
                      spids: [-1 16671]
                    )
                    (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: [16726]
                                                      )
                                                    ]
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick "`">
                                            spids: [16721 16728]
                                          )
                                        )
                                      } {(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: [16755]
                                              )
                                            ]
                                          )
                                        ]
                                      )
                                    left_token: <Left_Backtick "`">
                                    spids: [16750 16757]
                                  ) ("\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 16740]
                        )
                      ]
                      spids: [-1 16788]
                    )
                    (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 16824]
                        )
                      ]
                      spids: [-1 16840]
                    )
                  ]
                  spids: [-1 16596]
                )
              ]
              spids: [-1 16843]
            )
            (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: [16893]
                                )
                              ]
                              spids: [16893]
                            )
                            (C {($ VSub_Name "$RM")} {(DQ ($ VSub_Name "$lockfile"))})
                          ]
                          spids: [-1 16890]
                        )
                      ]
                      spids: [-1 16904]
                    )
                  ]
                  spids: [16851]
                )
              ]
              op_id: Op_DPipe
            )
            (C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})
          ]
          spids: [14931]
        )
      spids: [14926 14930]
    )
    (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: [16939 16945]
                    )
                  }
                )
              ]
              op_id: Op_DAmp
            )
          ]
          spids: [16922]
        )
      ]
      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 16971 16985 -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: [16989 16990 17012 -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: [17016 17017 17049 -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: [17053 17054 17082 -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: [17086 17087 17107 -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: [17111 17112 17137 -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: [17141 17142 17220 -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: [17224 17225 17247 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (C {(func_fatal_help)} 
                      {(DQ ("invalid operation mode '") ($ VSub_Name "$opt_mode") ("'"))}
                    )
                  ]
                  spids: [17251 17252 17264 -1]
                )
              ]
              spids: [16962 16966 17267]
            )
            (C {(echo)})
            (C {($ VSub_Name "$ECHO")} 
              {
                (DQ ("Try '") ($ VSub_Name "$progname") 
                  (" --help' for more information about other modes.")
                )
              }
            )
          ]
          spids: [16955]
        )
      spids: [16950 16954]
    )
    (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 17309]
                )
              ]
              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:[1734717353])
                          spids: [17331 17345]
                        )
                      ]
                      spids: [17318]
                    )
                    (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: [17398 17407]
                            )
                          spids: [17382 17396]
                        )
                      ]
                      spids: [17369]
                    )
                    (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: [17315 17430]
            )
            (C {(exit)} {($ VSub_QMark "$?")})
          ]
          spids: [-1 17293]
        )
      ]
      spids: [-1 17437]
    )
    (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: [17460]
                )
              ]
              spids: [17460]
            )
            (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:[17522])]
                      spids: [17522]
                    )
                    (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: [17544]
                                )
                              ]
                              spids: [17544]
                            )
                            (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: [17577]
                                )
                              ]
                              spids: [17577]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:library_names)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [17580]
                                )
                              ]
                              spids: [17580]
                            )
                            (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 17606]
                                )
                              ]
                              spids: [-1 17637]
                            )
                            (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: [17655]
                                )
                              ]
                              spids: [17655]
                            )
                            (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 17675]
                                )
                              ]
                              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 17706]
                                    )
                                  ]
                                  spids: [-1 17724]
                                )
                              ]
                              spids: [17688 17727]
                            )
                          ]
                          spids: [17532 17534 17730 -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: [17757]
                                )
                              ]
                              spids: [17757]
                            )
                          ]
                          spids: [17734 17736 17761 -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: [17765 17766 17779 -1]
                        )
                      ]
                      spids: [17525 17529 17782]
                    )
                    (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: [17791 17801]
                              )
                            }
                          spids: [17790]
                        )
                      ]
                      spids: [17790]
                    )
                    (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: [17814]
                            )
                          ]
                          spids: [17814]
                        )
                      ]
                      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 17836]
                        )
                      ]
                      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: [17851 17868]
                    )
                  ]
                  spids: [17497 17871]
                )
              spids: [17493 17495]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libtool_execute_magic)
                  op: Equal
                  rhs: {($ VSub_Name "$magic")}
                  spids: [17883]
                )
              ]
              spids: [17883]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:args) op:Equal rhs:{(SQ )} spids:[17892])]
              spids: [17892]
            )
            (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: [17910 17923 17925 -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: [17959]
                                        )
                                      ]
                                      spids: [17959]
                                    )
                                  ]
                                  spids: [-1 17945]
                                )
                                (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: [17995]
                                        )
                                      ]
                                      spids: [17995]
                                    )
                                  ]
                                  spids: [17965 17974]
                                )
                              ]
                              spids: [-1 18001]
                            )
                          ]
                          spids: [17928 17929 18004 -1]
                        )
                      ]
                      spids: [17903 17907 18007]
                    )
                    (C {(func_append_quoted)} {(args)} {(DQ ($ VSub_Name "$file"))})
                  ]
                  spids: [17900 18023]
                )
              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 18050]
                        )
                      ]
                      spids: [-1 18075]
                    )
                    (C {($ VSub_Name "$ECHO")} {(DQ ($ VSub_Name "$cmd") ($ VSub_Name "$args"))})
                    (C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})
                  ]
                  spids: [-1 18032]
                )
              ]
              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 18105]
                    )
                  ]
                  spids: [-1 18120]
                )
                (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: [18147 18180]
                    )
                  spids: [18133 -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: [18188]
                    )
                  ]
                  spids: [18188]
                )
              ]
              spids: [18091 18194]
            )
          ]
          spids: [17449]
        )
      spids: [17444 17448]
    )
    (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: [18213 18219]
            )
          }
        )
      ]
      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:[18238])]
              spids: [18238]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:libdirs) op:Equal rhs:{(SQ )} spids:[18241])]
              spids: [18241]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:admincmds) op:Equal rhs:{(SQ )} spids:[18244])]
              spids: [18244]
            )
            (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: [18258 18264]
                  )
                }
              ]
              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 18281]
                        )
                        (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 18318]
                                )
                              ]
                              else_action: [
                                (C {(func_warning)} 
                                  {
                                    (DQ ("'") ($ VSub_Name "$opt") ("' is not a valid libtool archive"))
                                  }
                                )
                              ]
                              spids: [18331 18343]
                            )
                          ]
                          spids: [18295 18306]
                        )
                      ]
                      else_action: [
                        (C {(func_fatal_error)} {(DQ ("invalid argument '") ($ VSub_Name "$opt") ("'"))})
                      ]
                      spids: [18347 18359]
                    )
                  ]
                  spids: [18267 18362]
                )
              spids: [18253 -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: [18395 18409]
                                      )
                                    }
                                  spids: [18394]
                                )
                              ]
                              spids: [18394]
                            )
                            (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: [18412]
                                )
                              ]
                              spids: [18412]
                            )
                          ]
                          spids: [-1 18391]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:sysroot_cmd)
                              op: Equal
                              rhs: {(SQ )}
                              spids: [18428]
                            )
                          ]
                          spids: [18428]
                        )
                      ]
                      spids: [18425 18431]
                    )
                    (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: [18456 18469]
                                )
                              spids: [18452 18454]
                            )
                          ]
                          spids: [-1 18444]
                        )
                      ]
                      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: [18476 18478]
                                  )
                                }
                              spids: [18475]
                            )
                          ]
                          spids: [18475]
                        )
                        (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: [18518]
                                    )
                                  ]
                                )
                                (C {(mv)} {(-f)} {($ VSub_Name "$tmpdir") (/tmp-la)} 
                                  {($ VSub_Name "$lib")}
                                )
                              ]
                              spids: [18490 18534]
                            )
                          spids: [18486 18488]
                        )
                        (C {(${ VSub_Name RM) (r)} {(DQ ($ VSub_Name "$tmpdir"))})
                      ]
                      spids: [18472 18547]
                    )
                  ]
                  spids: [-1 18377]
                )
              ]
              spids: [-1 18550]
            )
            (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 18602]
                                )
                              ]
                              spids: [-1 18626]
                            )
                            (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 18640]
                                )
                              ]
                              spids: [-1 18678]
                            )
                          ]
                          spids: [18588 18681]
                        )
                      spids: [18584 18586]
                    )
                  ]
                  spids: [-1 18576]
                )
              ]
              spids: [-1 18684]
            )
            (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: [18750 18761]
                        )
                      spids: [18746 18748]
                    )
                    (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 18806]
                        )
                      ]
                      spids: [-1 18825]
                    )
                    (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 18839]
                        )
                      ]
                      spids: [-1 18858]
                    )
                    (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: [18875]
                                )
                              ]
                              spids: [18875]
                            )
                            (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 18872]
                        )
                      ]
                      spids: [-1 18897]
                    )
                    (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 18911]
                        )
                      ]
                      spids: [-1 18922]
                    )
                    (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 18934]
                        )
                      ]
                      spids: [-1 18944]
                    )
                    (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: [18965 18974 18991 -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: [18994 18995 19005 -1]
                        )
                      ]
                      spids: [18958 18962 19008]
                    )
                    (C {(echo)} 
                      {(DQ (----------------------------------------------------------------------))}
                    )
                  ]
                  spids: [-1 18724]
                )
              ]
              spids: [-1 19018]
            )
            (C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})
          ]
          spids: [18231]
        )
      spids: [18226 18230]
    )
    (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: [19042 19048]
            )
          }
        )
      ]
      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: [19114 19117 19120 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [(C {(false)})]
                                  spids: [19122 19123 19126 -1]
                                )
                              ]
                              spids: [19108 19112 19128]
                            )
                          ]
                          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: [19145]
                        )
                      ]
                      spids: [19145]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:arg)
                          op: Equal
                          rhs: {($ VSub_Number "$1")}
                          spids: [19152]
                        )
                      ]
                      spids: [19152]
                    )
                    (C {(shift)})
                  ]
                  spids: [-1 19131]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:install_prog)
                      op: Equal
                      rhs: {(SQ )}
                      spids: [19162]
                    )
                  ]
                  spids: [19162]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:arg)
                      op: Equal
                      rhs: {($ VSub_Name "$nonopt")}
                      spids: [19165]
                    )
                  ]
                  spids: [19165]
                )
              ]
              spids: [19159 19169]
            )
            (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: [19197]
                )
              ]
              spids: [19197]
            )
            (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: [19223]
                        )
                      ]
                      spids: [19223]
                    )
                  ]
                  spids: [19212 19221 19226 -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: [19232]
                        )
                      ]
                      spids: [19232]
                    )
                  ]
                  spids: [19229 19230 19235 -1]
                )
              ]
              spids: [19201 19209 19238]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:dest) op:Equal rhs:{(SQ )} spids:[19246])]
              spids: [19246]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:files) op:Equal rhs:{(SQ )} spids:[19249])]
              spids: [19249]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:opts) op:Equal rhs:{(SQ )} spids:[19252])]
              spids: [19252]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:prev) op:Equal rhs:{(SQ )} spids:[19255])]
              spids: [19255]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:install_type)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [19258]
                )
              ]
              spids: [19258]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:isdir) op:Equal rhs:{(false)} spids:[19261])]
              spids: [19261]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:stripme) op:Equal rhs:{(SQ )} spids:[19265])]
              spids: [19265]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:no_mode)
                  op: Equal
                  rhs: {(Lit_Other ":")}
                  spids: [19268]
                )
              ]
              spids: [19268]
            )
            (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: [19280]
                        )
                      ]
                      spids: [19280]
                    )
                    (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: [19307]
                                )
                              ]
                              spids: [19307]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [-1 19294]
                        )
                      ]
                      spids: [-1 19314]
                    )
                    (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: [19328]
                                )
                              ]
                              spids: [19328]
                            )
                          ]
                          spids: [19325 19326 19331 -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 19343]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:prev)
                                      op: Equal
                                      rhs: {($ VSub_Name "$arg")}
                                      spids: [19351]
                                    )
                                  ]
                                  spids: [19351]
                                )
                              ]
                              spids: [19348 19355]
                            )
                          ]
                          spids: [19334 19335 19358 -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: [19373]
                                )
                              ]
                              spids: [19373]
                            )
                          ]
                          spids: [19361 19370 19377 -1]
                        )
                        (case_arm
                          pat_list: [{(-s)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:stripme)
                                  op: Equal
                                  rhs: {(DQ (" -s"))}
                                  spids: [19384]
                                )
                              ]
                              spids: [19384]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [19380 19381 19393 -1]
                        )
                        (case_arm
                          pat_list: [{(-) (Lit_Other "*")}]
                          spids: [19396 19398 19401 -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: [19453]
                                                )
                                              ]
                                              spids: [19453]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:no_mode)
                                                  op: Equal
                                                  rhs: {(false)}
                                                  spids: [19457]
                                                )
                                              ]
                                              spids: [19457]
                                            )
                                          ]
                                          spids: [-1 19450]
                                        )
                                      ]
                                      spids: [-1 19461]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [19464]
                                        )
                                      ]
                                      spids: [19464]
                                    )
                                  ]
                                  spids: [-1 19423]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:dest)
                                      op: Equal
                                      rhs: {($ VSub_Name "$arg")}
                                      spids: [19470]
                                    )
                                  ]
                                  spids: [19470]
                                )
                                (ControlFlow
                                  token: <ControlFlow_Continue continue>
                                )
                              ]
                              spids: [19467 19477]
                            )
                          ]
                          spids: [19404 19405 19480 -1]
                        )
                      ]
                      spids: [19318 19322 19483]
                    )
                    (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 19519]
                        )
                      ]
                      spids: [-1 19529]
                    )
                    (C {(func_append)} {(install_shared_prog)} 
                      {(DQ (" ") ($ VSub_Name "$func_quote_for_eval_result"))}
                    )
                  ]
                  spids: [19277 19542]
                )
              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 19611]
                        )
                      ]
                      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: [19616 19636]
                    )
                  ]
                  spids: [-1 19603]
                )
              ]
              spids: [-1 19639]
            )
            (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 19668]
                        )
                      ]
                      else_action: [(C {(func_fatal_help)} {(DQ ("you must specify a destination"))})]
                      spids: [19678 19688]
                    )
                  ]
                  spids: [-1 19654]
                )
              ]
              spids: [-1 19691]
            )
            (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: [19713]
                )
              ]
              spids: [19713]
            )
            (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: [19732]
                    )
                  ]
                  spids: [19732]
                )
              ]
              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: [19744]
                        )
                      ]
                      spids: [19744]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:destname)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [19748]
                        )
                      ]
                      spids: [19748]
                    )
                  ]
                  spids: [-1 19741]
                )
              ]
              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: [19768]
                    )
                  ]
                  spids: [19768]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:destname)
                      op: Equal
                      rhs: {($ VSub_Name "$func_basename_result")}
                      spids: [19772]
                    )
                  ]
                  spids: [19772]
                )
                (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: [19751 19814]
            )
            (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: [19824 19841 19843 -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: [19869 19871 19873 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (C {(func_fatal_help)} 
                                      {
                                        (DQ ("'") ($ VSub_Name "$destdir") 
                                          ("' must be an absolute directory name")
                                        )
                                      }
                                    )
                                  ]
                                  spids: [19876 19877 19889 -1]
                                )
                              ]
                              spids: [19862 19866 19892]
                            )
                          ]
                          spids: [19859 19895]
                        )
                      spids: [19855 19857]
                    )
                  ]
                  spids: [19846 19847 19898 -1]
                )
              ]
              spids: [19817 19821 19901]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libtool_install_magic)
                  op: Equal
                  rhs: {($ VSub_Name "$magic")}
                  spids: [19913]
                )
              ]
              spids: [19913]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:staticlibs) op:Equal rhs:{(SQ )} spids:[19918])]
              spids: [19918]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:future_libdirs)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [19921]
                )
              ]
              spids: [19921]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:current_libdirs)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [19924]
                )
              ]
              spids: [19924]
            )
            (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: [19951 19954 19971 -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: [19987]
                                )
                              ]
                              spids: [19987]
                            )
                            (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: [20016]
                                )
                              ]
                              spids: [20016]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:old_library)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [20019]
                                )
                              ]
                              spids: [20019]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:relink_command)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [20022]
                                )
                              ]
                              spids: [20022]
                            )
                            (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: [20067 20074 20076 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_append)} {(current_libdirs)} 
                                              {(DQ (" ") ($ VSub_Name "$libdir"))}
                                            )
                                          ]
                                          spids: [20079 20080 20091 -1]
                                        )
                                      ]
                                      spids: [20057 20064 20094]
                                    )
                                  ]
                                  spids: [-1 20054]
                                )
                              ]
                              else_action: [
                                (Case
                                  to_match: {(DQ ($ VSub_Name "$future_libdirs") (" "))}
                                  arms: [
                                    (case_arm
                                      pat_list: [
                                        {(Lit_Other "*") (DQ (" ") ($ VSub_Name "$libdir") (" ")) 
                                          (Lit_Other "*")
                                        }
                                      ]
                                      spids: [20114 20121 20123 -1]
                                    )
                                    (case_arm
                                      pat_list: [{(Lit_Other "*")}]
                                      action: [
                                        (C {(func_append)} {(future_libdirs)} 
                                          {(DQ (" ") ($ VSub_Name "$libdir"))}
                                        )
                                      ]
                                      spids: [20126 20127 20138 -1]
                                    )
                                  ]
                                  spids: [20104 20111 20141]
                                )
                              ]
                              spids: [20097 20144]
                            )
                            (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: [20162]
                                )
                              ]
                              spids: [20162]
                            )
                            (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: [20195 20214]
                                              )
                                            }
                                          spids: [20194]
                                        )
                                      ]
                                      spids: [20194]
                                    )
                                    (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: [20288 20304]
                                                      )
                                                    }
                                                  spids: [20287]
                                                )
                                              ]
                                              spids: [20287]
                                            )
                                          ]
                                          spids: [-1 20280]
                                        )
                                      ]
                                      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: [20311 20325]
                                                  )
                                                }
                                              spids: [20310]
                                            )
                                          ]
                                          spids: [20310]
                                        )
                                      ]
                                      spids: [20307 20328]
                                    )
                                    (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 20187]
                                )
                              ]
                              spids: [-1 20362]
                            )
                            (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: [20394]
                                        )
                                      ]
                                      spids: [20394]
                                    )
                                    (C {(shift)})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:srcname)
                                          op: Equal
                                          rhs: {($ VSub_Name "$realname")}
                                          spids: [20402]
                                        )
                                      ]
                                      spids: [20402]
                                    )
                                    (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: [20416]
                                            )
                                          ]
                                          spids: [20416]
                                        )
                                      ]
                                      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: [20449]
                                        )
                                      ]
                                      spids: [20449]
                                    )
                                    (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: [20492]
                                                        )
                                                      ]
                                                      spids: [20492]
                                                    )
                                                  ]
                                                  spids: [20487 20489 20495 -1]
                                                )
                                              ]
                                              spids: [20480 20484 20498]
                                            )
                                          ]
                                          spids: [20460 20477 20501 -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: [20521]
                                                        )
                                                      ]
                                                      spids: [20521]
                                                    )
                                                  ]
                                                  spids: [20516 20518 20524 -1]
                                                )
                                              ]
                                              spids: [20509 20513 20527]
                                            )
                                          ]
                                          spids: [20504 20506 20530 -1]
                                        )
                                      ]
                                      spids: [20453 20457 20533]
                                    )
                                    (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 20557]
                                        )
                                      ]
                                      spids: [-1 20575]
                                    )
                                    (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: [20616 20661]
                                                )
                                              spids: [-1 -1]
                                            )
                                          ]
                                          spids: [-1 20592]
                                        )
                                      ]
                                      spids: [-1 20664]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:lib)
                                          op: Equal
                                          rhs: 
                                            {($ VSub_Name "$destdir") (/) ($ VSub_Name "$realname")}
                                          spids: [20672]
                                        )
                                      ]
                                      spids: [20672]
                                    )
                                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name "$postinstall_cmds"))} 
                                      {(SQ <"exit $?">)}
                                    )
                                  ]
                                  spids: [-1 20391]
                                )
                              ]
                              spids: [-1 20689]
                            )
                            (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: [20704]
                                )
                              ]
                              spids: [20704]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:instname)
                                  op: Equal
                                  rhs: {($ VSub_Name "$dir") (/) (${ VSub_Name name) (i)}
                                  spids: [20708]
                                )
                              ]
                              spids: [20708]
                            )
                            (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: [19975 19977 20761 -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: [20793]
                                        )
                                      ]
                                      spids: [20793]
                                    )
                                  ]
                                  spids: [-1 20790]
                                )
                              ]
                              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: [20809]
                                    )
                                  ]
                                  spids: [20809]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:destfile)
                                      op: Equal
                                      rhs: {($ VSub_Name "$destdir") (/) ($ VSub_Name "$destfile")}
                                      spids: [20813]
                                    )
                                  ]
                                  spids: [20813]
                                )
                              ]
                              spids: [20799 20819]
                            )
                            (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: [20846]
                                        )
                                      ]
                                      spids: [20846]
                                    )
                                  ]
                                  spids: [20834 20836 20850 -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: [20859]
                                        )
                                      ]
                                      spids: [20859]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:destfile)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [20863]
                                        )
                                      ]
                                      spids: [20863]
                                    )
                                  ]
                                  spids: [20853 20856 20866 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (C {(func_fatal_help)} 
                                      {
                                        (DQ ("cannot copy a libtool object to '") 
                                          ($ VSub_Name "$destfile") ("'")
                                        )
                                      }
                                    )
                                  ]
                                  spids: [20869 20870 20882 -1]
                                )
                              ]
                              spids: [20827 20831 20885]
                            )
                            (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: [20952]
                                        )
                                      ]
                                      spids: [20952]
                                    )
                                    (C {(func_show_eval)} 
                                      {
                                        (DQ ($ VSub_Name "$install_prog") (" ") 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar "\\$">
                                          ) ("staticobj ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (staticdest)
                                        )
                                      } {(SQ <"exit $?">)}
                                    )
                                  ]
                                  spids: [-1 20938]
                                )
                              ]
                              spids: [-1 20972]
                            )
                            (C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})
                          ]
                          spids: [20765 20767 20980 -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: [21006]
                                        )
                                      ]
                                      spids: [21006]
                                    )
                                  ]
                                  spids: [-1 21003]
                                )
                              ]
                              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: [21022]
                                    )
                                  ]
                                  spids: [21022]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:destfile)
                                      op: Equal
                                      rhs: {($ VSub_Name "$destdir") (/) ($ VSub_Name "$destfile")}
                                      spids: [21026]
                                    )
                                  ]
                                  spids: [21026]
                                )
                              ]
                              spids: [21012 21032]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:stripped_ext)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [21048]
                                )
                              ]
                              spids: [21048]
                            )
                            (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: [21093]
                                                )
                                              ]
                                              spids: [21093]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:stripped_ext)
                                                  op: Equal
                                                  rhs: {(.exe)}
                                                  spids: [21097]
                                                )
                                              ]
                                              spids: [21097]
                                            )
                                          ]
                                          spids: [-1 21076]
                                        )
                                      ]
                                      spids: [-1 21101]
                                    )
                                  ]
                                  spids: [21058 21060 21104 -1]
                                )
                              ]
                              spids: [21051 21055 21107]
                            )
                            (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: [21153]
                                                )
                                              ]
                                              spids: [21153]
                                            )
                                          ]
                                          spids: [-1 21143]
                                        )
                                      ]
                                      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: [21174]
                                            )
                                          ]
                                          spids: [21174]
                                        )
                                      ]
                                      spids: [21157 21178]
                                    )
                                  ]
                                  spids: [21122 21131 21181 -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: [21188]
                                        )
                                      ]
                                      spids: [21188]
                                    )
                                  ]
                                  spids: [21184 21185 21192 -1]
                                )
                              ]
                              spids: [21115 21119 21195]
                            )
                            (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: [21210]
                                        )
                                      ]
                                      spids: [21210]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:relink_command)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [21213]
                                        )
                                      ]
                                      spids: [21213]
                                    )
                                    (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: [21251]
                                        )
                                      ]
                                      spids: [21251]
                                    )
                                    (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: [21271]
                                                )
                                              ]
                                              spids: [21271]
                                            )
                                            (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 21285]
                                                )
                                              ]
                                              spids: [-1 21295]
                                            )
                                            (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: [21301 21315]
                                                      )
                                                    }
                                                  spids: [21298]
                                                )
                                              ]
                                              spids: [21298]
                                            )
                                            (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: [21355]
                                                        )
                                                      ]
                                                      spids: [21355]
                                                    )
                                                  ]
                                                  spids: [-1 21341]
                                                )
                                              ]
                                              spids: [-1 21359]
                                            )
                                          ]
                                          spids: [21264 21362]
                                        )
                                      spids: [21260 21262]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:relink_command)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [21366]
                                        )
                                      ]
                                      spids: [21366]
                                    )
                                    (C {(func_source)} {(DQ ($ VSub_Name "$wrapper"))})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:outputname)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [21377]
                                        )
                                      ]
                                      spids: [21377]
                                    )
                                    (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: [21422 21424]
                                                                      )
                                                                    }
                                                                  spids: [21421]
                                                                )
                                                              ]
                                                              spids: [21421]
                                                            )
                                                            (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: [21435]
                                                                )
                                                              ]
                                                              spids: [21435]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:outputname)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {($ VSub_Name "$tmpdir") (/) 
                                                                      ($ VSub_Name "$file")
                                                                    }
                                                                  spids: [21439]
                                                                )
                                                              ]
                                                              spids: [21439]
                                                            )
                                                            (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: [21450 21470]
                                                                      )
                                                                    }
                                                                  spids: [21449]
                                                                )
                                                              ]
                                                              spids: [21449]
                                                            )
                                                            (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: [21478]
                                                                )
                                                              ]
                                                              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 21508]
                                                                )
                                                              ]
                                                              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: [21513 21542]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:file)
                                                                  op: Equal
                                                                  rhs: {($ VSub_Name "$outputname")}
                                                                  spids: [21545]
                                                                )
                                                              ]
                                                              spids: [21545]
                                                            )
                                                          ]
                                                          spids: [-1 21418]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (C {(func_warning)} 
                                                          {
                                                            (DQ ("cannot relink '") 
                                                              ($ VSub_Name "$file") ("'")
                                                            )
                                                          }
                                                        )
                                                      ]
                                                      spids: [21549 21561]
                                                    )
                                                  ]
                                                  spids: [21410]
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          spids: [-1 21403]
                                        )
                                      ]
                                      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: [21575 21599]
                                                  )
                                                }
                                              spids: [21574]
                                            )
                                          ]
                                          spids: [21574]
                                        )
                                      ]
                                      spids: [21567 21602]
                                    )
                                  ]
                                  spids: [-1 21207]
                                )
                              ]
                              spids: [-1 21605]
                            )
                            (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: [21645 21650 21657 -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: [21667]
                                                )
                                              ]
                                              spids: [21667]
                                            )
                                          ]
                                          spids: [21660 21664 21672 -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: [21696]
                                                )
                                              ]
                                              spids: [21696]
                                            )
                                          ]
                                          spids: [21675 21679 21700 -1]
                                        )
                                      ]
                                      spids: [21636 21642 21703]
                                    )
                                  ]
                                  spids: [21626 21633 21706 -1]
                                )
                              ]
                              spids: [21617 21623 21709]
                            )
                            (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 21744]
                                    )
                                  ]
                                  spids: [-1 21757]
                                )
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          spids: [20984 20985 21760 -1]
                        )
                      ]
                      spids: [19944 19948 21763]
                    )
                  ]
                  spids: [19936 21766]
                )
              spids: [19932 19934]
            )
            (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: [21789]
                        )
                      ]
                      spids: [21789]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:oldlib)
                          op: Equal
                          rhs: {($ VSub_Name "$destdir") (/) ($ VSub_Name "$name")}
                          spids: [21798]
                        )
                      ]
                      spids: [21798]
                    )
                    (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: [21813]
                        )
                      ]
                      spids: [21813]
                    )
                    (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 21856]
                        )
                      ]
                      spids: [-1 21872]
                    )
                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name "$old_postinstall_cmds"))} 
                      {(SQ <"exit $?">)}
                    )
                  ]
                  spids: [21779 21891]
                )
              spids: [21775 21777]
            )
            (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: [21941]
                            )
                          ]
                          spids: [21941]
                        )
                      ]
                      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: [21948]
                        )
                      ]
                      spids: [21948]
                    )
                  ]
                  spids: [-1 21930]
                )
              ]
              else_action: [(C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})]
              spids: [21954 21962]
            )
          ]
          spids: [19060]
        )
      spids: [19055 19059]
    )
    (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: [21981 21987]
            )
          }
        )
      ]
      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: [22012]
                )
              ]
              spids: [22012]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:my_originator)
                  op: Equal
                  rhs: {($ VSub_Number "$2")}
                  spids: [22016]
                )
              ]
              spids: [22016]
            )
            (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: [22021 22025]
                      )
                    }
                  spids: [22020]
                )
              ]
              spids: [22020]
            )
            (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: [22029 22043]
                      )
                    }
                  spids: [22028]
                )
              ]
              spids: [22028]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:my_dlsyms) op:Equal rhs:{(SQ )} spids:[22046])]
              spids: [22046]
            )
            (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: [22102]
                                )
                              ]
                              spids: [22102]
                            )
                          ]
                          spids: [-1 22099]
                        )
                      ]
                      else_action: [
                        (C {(func_error)} 
                          {(DQ ("not configured to extract global symbols from dlpreopened files"))}
                        )
                      ]
                      spids: [22109 22119]
                    )
                  ]
                  spids: [-1 22075]
                )
              ]
              spids: [-1 22122]
            )
            (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:[-12214922151-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: [22163]
                                )
                              ]
                              spids: [22163]
                            )
                            (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: [22211]
                                    )
                                  ]
                                )
                              ]
                              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: [22306]
                                            )
                                          ]
                                        )
                                      ]
                                      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: [22319 22342]
                                              )
                                            }
                                          spids: [22318]
                                        )
                                      ]
                                      spids: [22318]
                                    )
                                    (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: [22354 22393]
                                        )
                                      spids: [22350 22352]
                                    )
                                    (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: [22415]
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          spids: [-1 22408]
                                        )
                                      ]
                                      spids: [-1 22435]
                                    )
                                    (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: [22457]
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          spids: [-1 22450]
                                        )
                                      ]
                                      spids: [-1 22477]
                                    )
                                    (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: [22499]
                                                )
                                              ]
                                              spids: [22499]
                                            )
                                            (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: [22545 22561 22581 -1]
                                                        )
                                                      ]
                                                      spids: [22538 22542 22584]
                                                    )
                                                  ]
                                                  spids: [22510]
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          spids: [-1 22496]
                                        )
                                      ]
                                      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: [22646 22662 22682 -1]
                                                    )
                                                  ]
                                                  spids: [22639 22643 22685]
                                                )
                                              ]
                                              spids: [22597]
                                            )
                                          ]
                                          op_id: Op_DPipe
                                        )
                                      ]
                                      spids: [22590 22691]
                                    )
                                  ]
                                  spids: [-1 22283]
                                )
                              ]
                              spids: [-1 22694]
                            )
                            (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: [22726]
                                        )
                                      ]
                                      spids: [22726]
                                    )
                                    (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: [22789]
                                                        )
                                                      ]
                                                      spids: [22789]
                                                    )
                                                    (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: [22819 22833]
                                                                      )
                                                                    }
                                                                  spids: [22818]
                                                                )
                                                              ]
                                                              spids: [22818]
                                                            )
                                                            (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: [22857]
                                                                        )
                                                                      ]
                                                                      spids: [22857]
                                                                    )
                                                                  ]
                                                                  spids: [-1 22847]
                                                                )
                                                              ]
                                                              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: [22875]
                                                                    )
                                                                  ]
                                                                  spids: [22875]
                                                                )
                                                              ]
                                                              spids: [22861 22879]
                                                            )
                                                          ]
                                                          spids: [-1 22811]
                                                        )
                                                      ]
                                                      spids: [-1 22882]
                                                    )
                                                    (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 22903]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (C {(func_warning)} 
                                                                  {
                                                                    (DQ 
                                                                      (
"Could not compute DLL name from "
                                                                      ) ($ VSub_Name "$name")
                                                                    )
                                                                  }
                                                                )
                                                                (C {(eval)} 
                                                                  {
                                                                    (SQ 
                                                                      <
"$ECHO \": $name \" >> \"$nlist\""
                                                                      >
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                              spids: [22913 22931]
                                                            )
                                                            (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: [22889]
                                                        )
                                                      ]
                                                      op_id: Op_DPipe
                                                    )
                                                  ]
                                                  spids: [-1 22769]
                                                )
                                              ]
                                              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: [22975]
                                                    )
                                                  ]
                                                  op_id: Op_DPipe
                                                )
                                              ]
                                              spids: [22965 23013]
                                            )
                                          ]
                                          spids: [22737 22753 23016 -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: [23027]
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          spids: [23019 23020 23065 -1]
                                        )
                                      ]
                                      spids: [22730 22734 23068]
                                    )
                                  ]
                                  spids: [22707 23071]
                                )
                              spids: [22703 22705]
                            )
                            (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: [23098]
                                            )
                                          ]
                                        )
                                      ]
                                      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: [23135]
                                                )
                                              ]
                                            )
                                            (C {($ VSub_Name "$MV")} {(DQ ($ VSub_Name "$nlist")) (T)} 
                                              {(DQ ($ VSub_Name "$nlist"))}
                                            )
                                          ]
                                          spids: [-1 23117]
                                        )
                                      ]
                                      spids: [-1 23155]
                                    )
                                    (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: [23173]
                                                        )
                                                      ]
                                                    )
                                                    (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: [23190]
                                                                    )
                                                                    (Redir
                                                                      op_id: Redir_Great
                                                                      fd: -1
                                                                      arg_word: {(/dev/null)}
                                                                      spids: [23193]
                                                                    )
                                                                    (Redir
                                                                      op_id: Redir_GreatAnd
                                                                      fd: 2
                                                                      arg_word: {(1)}
                                                                      spids: [23196]
                                                                    )
                                                                  ]
                                                                )
                                                              terminator: <Op_Semi ";">
                                                            )
                                                          ]
                                                          action: [(C {(sort)} {(-k)} {(3)})]
                                                          spids: [-1 23200]
                                                        )
                                                      ]
                                                      else_action: [(C {(sort)} {(Lit_Other "+") (2)})]
                                                      spids: [23210 23219]
                                                    )
                                                    (SimpleCommand
                                                      words: [{(uniq)}]
                                                      redirects: [
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: -1
                                                          arg_word: {(DQ ($ VSub_Name "$nlist")) (S)}
                                                          spids: [23226]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  negated: False
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [(C {(Lit_Other ":")})]
                                          spids: [-1 23234]
                                        )
                                      ]
                                      else_action: [
                                        (SimpleCommand
                                          words: [{($ VSub_Name "$GREP")} {(-v)} {(DQ ("^: "))}]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Less
                                              fd: -1
                                              arg_word: {(DQ ($ VSub_Name "$nlist"))}
                                              spids: [23251]
                                            )
                                            (Redir
                                              op_id: Redir_Great
                                              fd: -1
                                              arg_word: {(DQ ($ VSub_Name "$nlist")) (S)}
                                              spids: [23257]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [23240 23265]
                                    )
                                    (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 23281]
                                        )
                                      ]
                                      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: [23303]
                                            )
                                          ]
                                        )
                                      ]
                                      spids: [23294 23312]
                                    )
                                    (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 23334]
                                        )
                                      ]
                                      spids: [-1 23347]
                                    )
                                    (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: [23353]
                                        )
                                      ]
                                    )
                                    (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: [23397]
                                                )
                                              ]
                                            )
                                            (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: [23425]
                                                )
                                                (Redir
                                                  op_id: Redir_DGreat
                                                  fd: -1
                                                  arg_word: 
                                                    {
                                                      (DQ ($ VSub_Name "$output_objdir") (/) 
                                                        ($ VSub_Name "$my_dlsyms")
                                                      )
                                                    }
                                                  spids: [23432]
                                                )
                                              ]
                                            )
                                            (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: [23443]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [-1 23392]
                                        )
                                      ]
                                      spids: [-1 23458]
                                    )
                                    (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: [23463]
                                        )
                                      ]
                                    )
                                    (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: [23505]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [-1 23500]
                                        )
                                      ]
                                      spids: [-1 23523]
                                    )
                                    (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: [23544]
                                                )
                                                (Redir
                                                  op_id: Redir_DGreat
                                                  fd: -1
                                                  arg_word: 
                                                    {
                                                      (DQ ($ VSub_Name "$output_objdir") (/) 
                                                        ($ VSub_Name "$my_dlsyms")
                                                      )
                                                    }
                                                  spids: [23550]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [23534 23535 23559 -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: [23572]
                                                )
                                                (Redir
                                                  op_id: Redir_DGreat
                                                  fd: -1
                                                  arg_word: 
                                                    {
                                                      (DQ ($ VSub_Name "$output_objdir") (/) 
                                                        ($ VSub_Name "$my_dlsyms")
                                                      )
                                                    }
                                                  spids: [23578]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [23562 23563 23587 -1]
                                        )
                                      ]
                                      spids: [23527 23531 23590]
                                    )
                                    (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: [23595]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [23079]
                                )
                              ]
                              op_id: Op_DPipe
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:pic_flag_for_symtable)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [23633]
                                )
                              ]
                              spids: [23633]
                            )
                            (Case
                              to_match: {(DQ ($ VSub_Name "$compile_command") (" "))}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other "*") (DQ (" -static ")) (Lit_Other "*")}]
                                  spids: [23646 23651 23653 -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: [23707]
                                                )
                                              ]
                                              spids: [23707]
                                            )
                                          ]
                                          spids: [23687 23704 23714 -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: [23725]
                                                )
                                              ]
                                              spids: [23725]
                                            )
                                          ]
                                          spids: [23717 23722 23731 -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: [23742]
                                                    )
                                                  ]
                                                  spids: [23742]
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          ]
                                          spids: [23734 23735 23749 -1]
                                        )
                                      ]
                                      spids: [23660 23664 23752]
                                    )
                                  ]
                                  spids: [23656 23657 23755 -1]
                                )
                              ]
                              spids: [23636 23643 23758]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:symtab_cflags)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [23761]
                                )
                              ]
                              spids: [23761]
                            )
                            (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: [23783 23792 23794 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_append)} {(symtab_cflags)} 
                                              {(DQ (" ") ($ VSub_Name "$arg"))}
                                            )
                                          ]
                                          spids: [23797 23798 23809 -1]
                                        )
                                      ]
                                      spids: [23776 23780 23812]
                                    )
                                  ]
                                  spids: [23773 23815]
                                )
                              spids: [23769 23771]
                            )
                            (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: [23851]
                                )
                              ]
                              spids: [23851]
                            )
                            (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: [23905 23925]
                                                      )
                                                    }
                                                  spids: [23904]
                                                )
                                              ]
                                              spids: [23904]
                                            )
                                            (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: [23929 23949]
                                                      )
                                                    }
                                                  spids: [23928]
                                                )
                                              ]
                                              spids: [23928]
                                            )
                                          ]
                                          spids: [-1 23901]
                                        )
                                      ]
                                      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: [23956 23972]
                                                  )
                                                }
                                              spids: [23955]
                                            )
                                          ]
                                          spids: [23955]
                                        )
                                        (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: [23976 23992]
                                                  )
                                                }
                                              spids: [23975]
                                            )
                                          ]
                                          spids: [23975]
                                        )
                                      ]
                                      spids: [23952 23995]
                                    )
                                  ]
                                  spids: [23868 23884 23998 -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: [24006 24022]
                                              )
                                            }
                                          spids: [24005]
                                        )
                                      ]
                                      spids: [24005]
                                    )
                                    (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: [24026 24042]
                                              )
                                            }
                                          spids: [24025]
                                        )
                                      ]
                                      spids: [24025]
                                    )
                                  ]
                                  spids: [24001 24002 24045 -1]
                                )
                              ]
                              spids: [23861 23865 24048]
                            )
                          ]
                          spids: [22154 22156 24051 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (C {(func_fatal_error)} 
                              {(DQ ("unknown suffix for '") ($ VSub_Name "$my_dlsyms") ("'"))}
                            )
                          ]
                          spids: [24054 24055 24067 -1]
                        )
                      ]
                      spids: [22140 22144 24070]
                    )
                  ]
                  spids: [-1 22137]
                )
              ]
              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: [24094 24108]
                          )
                        }
                      spids: [24093]
                    )
                  ]
                  spids: [24093]
                )
                (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: [24112 24126]
                          )
                        }
                      spids: [24111]
                    )
                  ]
                  spids: [24111]
                )
              ]
              spids: [24073 24129]
            )
          ]
          spids: [22005]
        )
      spids: [22000 22004]
    )
    (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: [24168 24190]
                      )
                    }
                  spids: [24167]
                )
              ]
              spids: [24167]
            )
            (C {(test)} {(-n)} {(DQ ($ VSub_Name "$func_cygming_gnu_implib_tmp"))})
          ]
          spids: [24151]
        )
      spids: [24146 24150]
    )
    (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: [24238 24260]
                      )
                    }
                  spids: [24237]
                )
              ]
              spids: [24237]
            )
            (C {(test)} {(-n)} {(DQ ($ VSub_Name "$func_cygming_ms_implib_tmp"))})
          ]
          spids: [24221]
        )
      spids: [24216 24220]
    )
    (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: [24307]
                )
              ]
              spids: [24307]
            )
            (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: [24319]
                                  )
                                ]
                              )
                            ]
                          )
                        left_token: <Left_Backtick "`">
                        spids: [24312 24321]
                      )
                    }
                  spids: [24311]
                )
              ]
              spids: [24311]
            )
            (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: [24346]
                        )
                      ]
                      spids: [24346]
                    )
                  ]
                  spids: [24331 24340 24352 -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: [24390]
                                        )
                                      ]
                                    )
                                    (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: [24402]
                                        )
                                      ]
                                    )
                                  ]
                                  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: [24443]
                                                )
                                              ]
                                              spids: [24443]
                                            )
                                          ]
                                          spids: [-1 24440]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:win32_nmres)
                                              op: Equal
                                              rhs: {(SQ )}
                                              spids: [24450]
                                            )
                                          ]
                                          spids: [24450]
                                        )
                                      ]
                                      spids: [24447 24453]
                                    )
                                  ]
                                  spids: [24417 24419 24456 -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: [24473 24507]
                                              )
                                            }
                                          spids: [24472]
                                        )
                                      ]
                                      spids: [24472]
                                    )
                                  ]
                                  spids: [24459 24460 24510 -1]
                                )
                              ]
                              spids: [24409 24413 24513]
                            )
                            (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: [24527]
                                        )
                                      ]
                                      spids: [24527]
                                    )
                                  ]
                                  spids: [24523 24525 24531 -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: [24537]
                                        )
                                      ]
                                      spids: [24537]
                                    )
                                  ]
                                  spids: [24534 24535 24541 -1]
                                )
                              ]
                              spids: [24516 24520 24544]
                            )
                          ]
                          spids: [-1 24406]
                        )
                      ]
                      spids: [-1 24547]
                    )
                  ]
                  spids: [24355 24360 24550 -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: [24559]
                        )
                      ]
                      spids: [24559]
                    )
                  ]
                  spids: [24553 24556 24565 -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: [24596]
                                )
                              ]
                              spids: [24596]
                            )
                          ]
                          spids: [24584 24593 24602 -1]
                        )
                      ]
                      spids: [24577 24581 24605]
                    )
                  ]
                  spids: [24568 24571 24608 -1]
                )
              ]
              spids: [24324 24328 24611]
            )
            (C {($ VSub_Name "$ECHO")} {(DQ ($ VSub_Name "$win32_libid_type"))})
          ]
          spids: [24300]
        )
      spids: [24295 24299]
    )
    (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: [24663 24673]
                      )
                    }
                  spids: [24662]
                )
              ]
              spids: [24662]
            )
          ]
          spids: [24655]
        )
      spids: [24650 24654]
    )
    (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: [24724 24738]
                      )
                    }
                  spids: [24723]
                )
              ]
              spids: [24723]
            )
            (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:[24755])]
                )
                (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: [24716]
        )
      spids: [24711 24715]
    )
    (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: [24933 24943]
                              )
                            }
                          spids: [24932]
                        )
                      ]
                      spids: [24932]
                    )
                  ]
                  spids: [-1 24925]
                )
                (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: [24963 24973]
                              )
                            }
                          spids: [24962]
                        )
                      ]
                      spids: [24962]
                    )
                  ]
                  spids: [24946 24955]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:sharedlib_from_linklib_result)
                      op: Equal
                      rhs: {(SQ )}
                      spids: [24983]
                    )
                  ]
                  spids: [24983]
                )
              ]
              spids: [24976 24986]
            )
          ]
          spids: [24909]
        )
      spids: [24904 24908]
    )
    (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: [25007]
                    )
                  ]
                  spids: [25007]
                )
              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: [25014]
                )
              ]
              spids: [25014]
            )
            (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: [25034]
                        )
                      ]
                      spids: [25034]
                    )
                    (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: [25055]
                                    )
                                  ]
                                )
                              ]
                              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: [25059 25076]
                        )
                    )
                  ]
                  spids: [-1 25031]
                )
              ]
              spids: [-1 25079]
            )
            (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 25117]
                )
              ]
              spids: [-1 25133]
            )
            (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: [25157]
                                    )
                                    (Redir
                                      op_id: Redir_GreatAnd
                                      fd: 2
                                      arg_word: {(1)}
                                      spids: [25160]
                                    )
                                  ]
                                )
                              ]
                              negated: False
                            )
                          spids: [25138 25162]
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(C {(Lit_Other ":")})]
                  spids: [-1 25165]
                )
              ]
              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: [25171 25184]
            )
          ]
          spids: [25000]
        )
      spids: [24995 24999]
    )
    (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: [25205]
                    )
                  ]
                  spids: [25205]
                )
              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: [25213 25219]
                      )
                    }
                  spids: [25212]
                )
              ]
              spids: [25212]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:my_oldobjs) op:Equal rhs:{(SQ )} spids:[25222])]
              spids: [25222]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:my_xlib) op:Equal rhs:{(SQ )} spids:[25225])]
              spids: [25225]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:my_xabs) op:Equal rhs:{(SQ )} spids:[25228])]
              spids: [25228]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:my_xdir) op:Equal rhs:{(SQ )} spids:[25231])]
              spids: [25231]
            )
            (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: [25277]
                                )
                              ]
                              spids: [25277]
                            )
                          ]
                          spids: [25258 25275 25280 -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: [25287 25289]
                                      ) (DQ (/) ($ VSub_Name "$my_xlib"))
                                    }
                                  spids: [25286]
                                )
                              ]
                              spids: [25286]
                            )
                          ]
                          spids: [25283 25284 25295 -1]
                        )
                      ]
                      spids: [25251 25255 25298]
                    )
                    (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: [25308]
                        )
                      ]
                      spids: [25308]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:my_xlib_u)
                          op: Equal
                          rhs: {($ VSub_Name "$my_xlib")}
                          spids: [25312]
                        )
                      ]
                      spids: [25312]
                    )
                    (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: [25354]
                                        )
                                      ]
                                      spids: [25354]
                                    )
                                    (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: [25358]
                                        )
                                      ]
                                      spids: [25358]
                                    )
                                  ]
                                  spids: [25335 25342 25364 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [(ControlFlow token:<ControlFlow_Break break>)]
                                  spids: [25367 25368 25372 -1]
                                )
                              ]
                              spids: [25324 25332 25375]
                            )
                          ]
                          spids: [25321 25378]
                        )
                    )
                    (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: [25381]
                        )
                      ]
                      spids: [25381]
                    )
                    (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: [25389]
                        )
                      ]
                      spids: [25389]
                    )
                    (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: [25437 25439]
                                              )
                                            }
                                          spids: [25436]
                                        )
                                      ]
                                      spids: [25436]
                                    )
                                    (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: [25453]
                                        )
                                      ]
                                      spids: [25453]
                                    )
                                    (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: [25458 25460]
                                              )
                                            }
                                          spids: [25457]
                                        )
                                      ]
                                      spids: [25457]
                                    )
                                    (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: [25470]
                                        )
                                      ]
                                      spids: [25470]
                                    )
                                    (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: [25484]
                                                                  )
                                                                ]
                                                              )
                                                              (SimpleCommand
                                                                words: [
                                                                  {($ VSub_Name "$GREP")}
                                                                  {(Architectures)}
                                                                ]
                                                                redirects: [
                                                                  (Redir
                                                                    op_id: Redir_Great
                                                                    fd: 2
                                                                    arg_word: {(/dev/null)}
                                                                    spids: [25493]
                                                                  )
                                                                ]
                                                              )
                                                            ]
                                                            negated: False
                                                          )
                                                          (C {(true)})
                                                        ]
                                                        op_id: Op_DPipe
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_Backtick "`">
                                                spids: [25475 25499]
                                              )
                                            }
                                          spids: [25474]
                                        )
                                      ]
                                      spids: [25474]
                                    )
                                    (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: [25517 25533]
                                                      )
                                                    }
                                                  spids: [25516]
                                                )
                                              ]
                                              spids: [25516]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:darwin_arch)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [25536]
                                                )
                                              ]
                                              spids: [25536]
                                            )
                                            (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: [25611 25613]
                                                          )
                                                        )
                                                      } {(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: [25557 25642]
                                                )
                                              spids: [25553 25555]
                                            )
                                            (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: [25653 25694]
                                                      )
                                                    }
                                                  spids: [25652]
                                                )
                                              ]
                                              spids: [25652]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:darwin_file)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [25697]
                                                )
                                              ]
                                              spids: [25697]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:darwin_files)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [25700]
                                                )
                                              ]
                                              spids: [25700]
                                            )
                                            (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: [25716 25735]
                                                              )
                                                            }
                                                          spids: [25715]
                                                        )
                                                      ]
                                                      spids: [25715]
                                                    )
                                                    (C {($ VSub_Name "$LIPO")} {(-create)} {(-output)} 
                                                      {(DQ ($ VSub_Name "$darwin_file"))} {($ VSub_Name "$darwin_files")}
                                                    )
                                                  ]
                                                  spids: [25712 25751]
                                                )
                                              spids: [25708 25710]
                                            )
                                            (C {($ VSub_Name "$RM")} {(-rf)} 
                                              {(unfat-) ($ VSub_Dollar "$$")}
                                            )
                                            (C {(cd)} {(DQ ($ VSub_Name "$darwin_orig_dir"))})
                                          ]
                                          spids: [-1 25513]
                                        )
                                      ]
                                      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: [25772 25791]
                                    )
                                  ]
                                  spids: [25433]
                                )
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          spids: [25411 25414 25803 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (C {(func_extract_an_archive)} {(DQ ($ VSub_Name "$my_xdir"))} 
                              {(DQ ($ VSub_Name "$my_xabs"))}
                            )
                          ]
                          spids: [25806 25807 25821 -1]
                        )
                      ]
                      spids: [25404 25408 25824]
                    )
                    (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: [25832 25861]
                              )
                            }
                          spids: [25827]
                        )
                      ]
                      spids: [25827]
                    )
                  ]
                  spids: [25244 25864]
                )
              spids: [25240 25242]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:func_extract_archives_result)
                  op: Equal
                  rhs: {($ VSub_Name "$my_oldobjs")}
                  spids: [25868]
                )
              ]
              spids: [25868]
            )
          ]
          spids: [25198]
        )
      spids: [25193 25197]
    )
    (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: [25926 25930]
                      )
                    }
                  spids: [25925]
                )
              ]
              spids: [25925]
            )
            (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: [26067 26081]
                      )
                    }
                  spids: [26066]
                )
              ]
              spids: [26066]
            )
            (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: [26284 26302 26362 -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: [26366 26367 26423 -1]
                )
              ]
              spids: [26273 26277 26426]
            )
            (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 26758]
                )
              ]
              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: [26965 26985]
            )
            (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 27037]
                )
              ]
              spids: [-1 27053]
            )
            (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 27094]
                )
              ]
              spids: [-1 27142]
            )
            (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: [25922]
        )
      spids: [25917 25921]
    )
    (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: [27234]
                )
              ]
            )
            (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: [27264]
                )
              ]
            )
            (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: [27273]
                )
              ]
            )
            (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: [27338]
                        )
                      ]
                    )
                  ]
                  spids: [-1 27326]
                )
              ]
              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: [27352]
                    )
                  ]
                )
              ]
              spids: [27347 27358]
            )
            (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: [27386]
                        )
                      ]
                    )
                  ]
                  spids: [-1 27373]
                )
              ]
              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: [27405]
                    )
                  ]
                )
              ]
              spids: [27400 27411]
            )
            (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: [27433]
                        )
                      ]
                    )
                  ]
                  spids: [-1 27428]
                )
              ]
              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: [27448]
                    )
                  ]
                )
              ]
              spids: [27443 27457]
            )
            (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: [27464]
                )
              ]
            )
            (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: [27477 27487 27501 -1]
                )
              ]
              spids: [27470 27474 27504]
            )
            (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: [27510]
                )
              ]
            )
            (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: [27518]
                )
              ]
            )
            (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: [27534]
                )
              ]
            )
            (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: [27543]
                )
              ]
            )
            (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: [27568]
                )
              ]
            )
            (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: [27589]
                        )
                      ]
                    )
                  ]
                  spids: [27582 27584 27595 -1]
                )
              ]
              spids: [27575 27579 27598]
            )
            (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: [27604]
                )
              ]
            )
            (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: [27625]
                        )
                      ]
                    )
                  ]
                  spids: [27618 27620 27631 -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: [27640]
                        )
                      ]
                    )
                  ]
                  spids: [27634 27635 27646 -1]
                )
              ]
              spids: [27611 27615 27649]
            )
            (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: [27655]
                )
              ]
            )
            (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: [27675]
                        )
                      ]
                    )
                  ]
                  spids: [27668 27670 27681 -1]
                )
              ]
              spids: [27661 27665 27684]
            )
            (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: [27690]
                )
              ]
            )
            (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: [27724]
                )
              ]
            )
          ]
          spids: [27229]
        )
      spids: [27224 27228]
    )
    (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: [27765]
                                  )
                                ]
                              )
                              (C {($ VSub_Name "$SED")} {(-e)} {(10q)})
                            ]
                            negated: False
                          )
                        ]
                      )
                    left_token: <Left_Backtick "`">
                    spids: [27755 27775]
                  )
                }
              arms: [
                (case_arm
                  pat_list: [{(Lit_Other "*") (import) (Lit_Other "*")}]
                  action: [(C {(Lit_Other ":")})]
                  spids: [27780 27783 27787 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [(C {(false)})]
                  spids: [27790 27791 27795 -1]
                )
              ]
              spids: [27753 27777 27798]
            )
          ]
          spids: [27746]
        )
      spids: [27741 27745]
    )
    (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: [27874]
                        )
                      ]
                      spids: [27874]
                    )
                  ]
                  spids: [27838 27871 27878 -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: [27885]
                        )
                      ]
                      spids: [27885]
                    )
                  ]
                  spids: [27881 27882 27889 -1]
                )
              ]
              spids: [27827 27835 27892]
            )
          ]
          spids: [27820]
        )
      spids: [27815 27819]
    )
    (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: [27998]
                        )
                      ]
                      spids: [27998]
                    )
                  ]
                  spids: [27919 27954 28002 -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: [28009]
                        )
                      ]
                      spids: [28009]
                    )
                  ]
                  spids: [28005 28006 28013 -1]
                )
              ]
              spids: [27912 27916 28016]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libtool_args)
                  op: Equal
                  rhs: {($ VSub_Name "$nonopt")}
                  spids: [28019]
                )
              ]
              spids: [28019]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:base_compile)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$nonopt") (" ") ($ VSub_At "$@"))}
                  spids: [28023]
                )
              ]
              spids: [28023]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compile_command)
                  op: Equal
                  rhs: {($ VSub_Name "$nonopt")}
                  spids: [28031]
                )
              ]
              spids: [28031]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:finalize_command)
                  op: Equal
                  rhs: {($ VSub_Name "$nonopt")}
                  spids: [28035]
                )
              ]
              spids: [28035]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compile_rpath)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [28040]
                )
              ]
              spids: [28040]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:finalize_rpath)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [28043]
                )
              ]
              spids: [28043]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compile_shlibpath)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [28046]
                )
              ]
              spids: [28046]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:finalize_shlibpath)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [28049]
                )
              ]
              spids: [28049]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:convenience) op:Equal rhs:{(SQ )} spids:[28052])]
              spids: [28052]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:old_convenience)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [28055]
                )
              ]
              spids: [28055]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:deplibs) op:Equal rhs:{(SQ )} spids:[28058])]
              spids: [28058]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:old_deplibs) op:Equal rhs:{(SQ )} spids:[28061])]
              spids: [28061]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:compiler_flags)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [28064]
                )
              ]
              spids: [28064]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:linker_flags)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [28067]
                )
              ]
              spids: [28067]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:dllsearchpath)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [28070]
                )
              ]
              spids: [28070]
            )
            (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: [28074 28076]
                      )
                    }
                  spids: [28073]
                )
              ]
              spids: [28073]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:inst_prefix_dir)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [28079]
                )
              ]
              spids: [28079]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:new_inherited_linker_flags)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [28082]
                )
              ]
              spids: [28082]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:avoid_version)
                  op: Equal
                  rhs: {(no)}
                  spids: [28086]
                )
              ]
              spids: [28086]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:bindir) op:Equal rhs:{(SQ )} spids:[28090])]
              spids: [28090]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:dlfiles) op:Equal rhs:{(SQ )} spids:[28093])]
              spids: [28093]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:dlprefiles) op:Equal rhs:{(SQ )} spids:[28096])]
              spids: [28096]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:dlself) op:Equal rhs:{(no)} spids:[28099])]
              spids: [28099]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:export_dynamic)
                  op: Equal
                  rhs: {(no)}
                  spids: [28103]
                )
              ]
              spids: [28103]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:export_symbols)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [28107]
                )
              ]
              spids: [28107]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:export_symbols_regex)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [28110]
                )
              ]
              spids: [28110]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:generated) op:Equal rhs:{(SQ )} spids:[28113])]
              spids: [28113]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:libobjs) op:Equal rhs:{(SQ )} spids:[28116])]
              spids: [28116]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:ltlibs) op:Equal rhs:{(SQ )} spids:[28119])]
              spids: [28119]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:module) op:Equal rhs:{(no)} spids:[28122])]
              spids: [28122]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:no_install) op:Equal rhs:{(no)} spids:[28126])]
              spids: [28126]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:objs) op:Equal rhs:{(SQ )} spids:[28130])]
              spids: [28130]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:os2dllname) op:Equal rhs:{(SQ )} spids:[28133])]
              spids: [28133]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:non_pic_objects)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [28136]
                )
              ]
              spids: [28136]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:precious_files_regex)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [28139]
                )
              ]
              spids: [28139]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:prefer_static_libs)
                  op: Equal
                  rhs: {(no)}
                  spids: [28142]
                )
              ]
              spids: [28142]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:preload) op:Equal rhs:{(false)} spids:[28146])]
              spids: [28146]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:prev) op:Equal rhs:{(SQ )} spids:[28150])]
              spids: [28150]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:prevarg) op:Equal rhs:{(SQ )} spids:[28153])]
              spids: [28153]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:release) op:Equal rhs:{(SQ )} spids:[28156])]
              spids: [28156]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:rpath) op:Equal rhs:{(SQ )} spids:[28159])]
              spids: [28159]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:xrpath) op:Equal rhs:{(SQ )} spids:[28162])]
              spids: [28162]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:perm_rpath) op:Equal rhs:{(SQ )} spids:[28165])]
              spids: [28165]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:temp_rpath) op:Equal rhs:{(SQ )} spids:[28168])]
              spids: [28168]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:thread_safe) op:Equal rhs:{(no)} spids:[28171])]
              spids: [28171]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:vinfo) op:Equal rhs:{(SQ )} spids:[28175])]
              spids: [28175]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:vinfo_number) op:Equal rhs:{(no)} spids:[28178])]
              spids: [28178]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:weak_libs) op:Equal rhs:{(SQ )} spids:[28182])]
              spids: [28182]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:single_module)
                  op: Equal
                  rhs: {($ VSub_Name "$wl") (-single_module)}
                  spids: [28185]
                )
              ]
              spids: [28185]
            )
            (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: [28241]
                                )
                              ]
                              spids: [28241]
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [28215 28216 28248 -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 28297]
                                        )
                                      ]
                                      spids: [-1 28307]
                                    )
                                    (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: [28324]
                                                )
                                              ]
                                              spids: [28324]
                                            )
                                          ]
                                          spids: [-1 28321]
                                        )
                                      ]
                                      spids: [-1 28328]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prefer_static_libs)
                                          op: Equal
                                          rhs: {(yes)}
                                          spids: [28331]
                                        )
                                      ]
                                      spids: [28331]
                                    )
                                  ]
                                  spids: [28270 28271 28335 -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: [28366]
                                                )
                                              ]
                                              spids: [28366]
                                            )
                                          ]
                                          spids: [-1 28363]
                                        )
                                      ]
                                      spids: [-1 28370]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prefer_static_libs)
                                          op: Equal
                                          rhs: {(built)}
                                          spids: [28373]
                                        )
                                      ]
                                      spids: [28373]
                                    )
                                  ]
                                  spids: [28338 28339 28377 -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: [28408]
                                                )
                                              ]
                                              spids: [28408]
                                            )
                                          ]
                                          spids: [-1 28405]
                                        )
                                      ]
                                      spids: [-1 28412]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prefer_static_libs)
                                          op: Equal
                                          rhs: {(yes)}
                                          spids: [28415]
                                        )
                                      ]
                                      spids: [28415]
                                    )
                                  ]
                                  spids: [28380 28381 28419 -1]
                                )
                              ]
                              spids: [28263 28267 28422]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_libtool_libs)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [28425]
                                )
                              ]
                              spids: [28425]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_old_libs)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [28429]
                                )
                              ]
                              spids: [28429]
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [28251 28260 28436 -1]
                        )
                      ]
                      spids: [28208 28212 28439]
                    )
                  ]
                  spids: [28205 28442]
                )
              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: [28460]
                    )
                  ]
                  spids: [28460]
                )
              ]
              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: [28485]
                        )
                      ]
                      spids: [28485]
                    )
                    (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: [28499]
                        )
                      ]
                      spids: [28499]
                    )
                    (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: [28539 28540 28561 -1]
                                )
                              ]
                              spids: [28532 28536 28564]
                            )
                            (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: [28579]
                                        )
                                      ]
                                      spids: [28579]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [28583]
                                        )
                                      ]
                                      spids: [28583]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [28575 28576 28589 -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: [28627]
                                                )
                                              ]
                                              spids: [28627]
                                            )
                                          ]
                                          spids: [28602]
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                    (Case
                                      to_match: {($ VSub_Name "$arg")}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(Lit_Other "*") (.la)} {(Lit_Other "*") (.lo)}]
                                          spids: [28641 28648 28650 -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: [28676]
                                                        )
                                                      ]
                                                      spids: [28676]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:export_dynamic)
                                                          op: Equal
                                                          rhs: {(yes)}
                                                          spids: [28680]
                                                        )
                                                      ]
                                                      spids: [28680]
                                                    )
                                                  ]
                                                  spids: [-1 28673]
                                                )
                                              ]
                                              spids: [-1 28684]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:prev)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [28687]
                                                )
                                              ]
                                              spids: [28687]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [28656 28657 28693 -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: [28716]
                                                        )
                                                      ]
                                                      spids: [28716]
                                                    )
                                                  ]
                                                  spids: [-1 28713]
                                                )
                                                (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: [28749]
                                                        )
                                                      ]
                                                      spids: [28749]
                                                    )
                                                  ]
                                                  spids: [28720 28746]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:dlself)
                                                      op: Equal
                                                      rhs: {(needless)}
                                                      spids: [28756]
                                                    )
                                                  ]
                                                  spids: [28756]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:export_dynamic)
                                                      op: Equal
                                                      rhs: {(yes)}
                                                      spids: [28760]
                                                    )
                                                  ]
                                                  spids: [28760]
                                                )
                                              ]
                                              spids: [28753 28764]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:prev)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [28767]
                                                )
                                              ]
                                              spids: [28767]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [28696 28697 28773 -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 28793]
                                                )
                                              ]
                                              else_action: [
                                                (C {(func_append)} {(dlprefiles)} 
                                                  {(DQ (" ") ($ VSub_Name "$arg"))}
                                                )
                                              ]
                                              spids: [28806 28819]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:prev)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [28822]
                                                )
                                              ]
                                              spids: [28822]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [28776 28777 28828 -1]
                                        )
                                      ]
                                      spids: [28634 28638 28831]
                                    )
                                  ]
                                  spids: [28592 28595 28834 -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: [28841]
                                        )
                                      ]
                                      spids: [28841]
                                    )
                                    (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: [28866]
                                        )
                                      ]
                                      spids: [28866]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [28837 28838 28872 -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: [28879]
                                        )
                                      ]
                                      spids: [28879]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [28883]
                                        )
                                      ]
                                      spids: [28883]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [28875 28876 28889 -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: [28921 28928 28930 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (C {(func_append)} {(deplibs)} 
                                                      {
                                                        (DQ (" ") ($ VSub_Name "$qarg") (.ltframework))
                                                      }
                                                    )
                                                  ]
                                                  spids: [28933 28934 28950 -1]
                                                )
                                              ]
                                              spids: [28911 28918 28953]
                                            )
                                          ]
                                          spids: [28903 28908 28956 -1]
                                        )
                                      ]
                                      spids: [28896 28900 28959]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [28962]
                                        )
                                      ]
                                      spids: [28962]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [28892 28893 28968 -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: [28975]
                                        )
                                      ]
                                      spids: [28975]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [28979]
                                        )
                                      ]
                                      spids: [28979]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [28971 28972 28985 -1]
                                )
                                (case_arm
                                  pat_list: [{(mllvm)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [29000]
                                        )
                                      ]
                                      spids: [29000]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [28988 28989 29006 -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: [29027]
                                                )
                                              ]
                                              spids: [29027]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:moreargs)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [29031]
                                                )
                                              ]
                                              spids: [29031]
                                            )
                                            (ForEach
                                              iter_name: fil
                                              iter_words: [
                                                {
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (C {(cat)} {(DQ ($ VSub_Name "$save_arg"))})
                                                        ]
                                                      )
                                                    left_token: <Left_Backtick "`">
                                                    spids: [29040 29046]
                                                  )
                                                }
                                              ]
                                              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: [29055]
                                                        )
                                                      ]
                                                      spids: [29055]
                                                    )
                                                    (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: [29080]
                                                                )
                                                              ]
                                                              spids: [29080]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:non_pic_object)
                                                                  op: Equal
                                                                  rhs: {(SQ )}
                                                                  spids: [29083]
                                                                )
                                                              ]
                                                              spids: [29083]
                                                            )
                                                            (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 29147]
                                                                )
                                                              ]
                                                              spids: [-1 29159]
                                                            )
                                                            (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: [29181]
                                                                )
                                                              ]
                                                              spids: [29181]
                                                            )
                                                            (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: [29207]
                                                                        )
                                                                      ]
                                                                      spids: [29207]
                                                                    )
                                                                    (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: [
29267
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [29267]
                                                                                    )
                                                                                    (ControlFlow
                                                                                      token: 
                                                                                        <
ControlFlow_Continue continue
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  spids: [-1 29254]
                                                                                )
                                                                              ]
                                                                              else_action: [
                                                                                (Assignment
                                                                                  keyword: 
Assign_None
                                                                                  pairs: [
                                                                                    (assign_pair
                                                                                      lhs: 
                                                                                        (LhsName
                                                                                          name: prev
                                                                                        )
                                                                                      op: Equal
                                                                                      rhs: 
                                                                                        {
                                                                                          (
dlprefiles
                                                                                          )
                                                                                        }
                                                                                      spids: [29280]
                                                                                    )
                                                                                  ]
                                                                                  spids: [29280]
                                                                                )
                                                                              ]
                                                                              spids: [29273 29284]
                                                                            )
                                                                          ]
                                                                          spids: [-1 29226]
                                                                        )
                                                                      ]
                                                                      spids: [-1 29287]
                                                                    )
                                                                    (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: [29325]
                                                                                )
                                                                              ]
                                                                              spids: [29325]
                                                                            )
                                                                          ]
                                                                          spids: [-1 29308]
                                                                        )
                                                                      ]
                                                                      spids: [-1 29328]
                                                                    )
                                                                    (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: [29346]
                                                                        )
                                                                      ]
                                                                      spids: [29346]
                                                                    )
                                                                  ]
                                                                  spids: [-1 29200]
                                                                )
                                                              ]
                                                              spids: [-1 29350]
                                                            )
                                                            (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: [29379]
                                                                        )
                                                                      ]
                                                                      spids: [29379]
                                                                    )
                                                                    (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: [29425]
                                                                                )
                                                                              ]
                                                                              spids: [29425]
                                                                            )
                                                                          ]
                                                                          spids: [-1 29422]
                                                                        )
                                                                      ]
                                                                      spids: [-1 29429]
                                                                    )
                                                                  ]
                                                                  spids: [-1 29372]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: 
                                                                        (LhsName
                                                                          name: non_pic_object
                                                                        )
                                                                      op: Equal
                                                                      rhs: 
                                                                        {
                                                                          ($ VSub_Name "$pic_object")
                                                                        }
                                                                      spids: [29443]
                                                                    )
                                                                  ]
                                                                  spids: [29443]
                                                                )
                                                                (C {(func_append)} {(non_pic_objects)} 
                                                                  {
                                                                    (DQ (" ") 
                                                                      ($ VSub_Name "$non_pic_object")
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                              spids: [29432 29457]
                                                            )
                                                          ]
                                                          spids: [-1 29077]
                                                        )
                                                      ]
                                                      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: [29493]
                                                                    )
                                                                  ]
                                                                  spids: [29493]
                                                                )
                                                                (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: [29505]
                                                                    )
                                                                  ]
                                                                  spids: [29505]
                                                                )
                                                                (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: [29512]
                                                                    )
                                                                  ]
                                                                  spids: [29512]
                                                                )
                                                                (C {(func_append)} {(libobjs)} 
                                                                  {
                                                                    (DQ (" ") 
                                                                      ($ VSub_Name "$pic_object")
                                                                    )
                                                                  }
                                                                )
                                                                (C {(func_append)} {(non_pic_objects)} 
                                                                  {
                                                                    (DQ (" ") 
                                                                      ($ VSub_Name "$non_pic_object")
                                                                    )
                                                                  }
                                                                )
                                                              ]
                                                              spids: [-1 29472]
                                                            )
                                                          ]
                                                          else_action: [
                                                            (C {(func_fatal_error)} 
                                                              {
                                                                (DQ ("'") ($ VSub_Name "$arg") 
                                                                  (
"' is not a valid libtool object"
                                                                  )
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [29537 29549]
                                                        )
                                                      ]
                                                      spids: [29460 29552]
                                                    )
                                                  ]
                                                  spids: [29049 29555]
                                                )
                                              spids: [29039 -1]
                                            )
                                          ]
                                          spids: [-1 29024]
                                        )
                                      ]
                                      else_action: [
                                        (C {(func_fatal_error)} 
                                          {
                                            (DQ ("link input file '") ($ VSub_Name "$arg") 
                                              ("' does not exist")
                                            )
                                          }
                                        )
                                      ]
                                      spids: [29558 29570]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:arg)
                                          op: Equal
                                          rhs: {($ VSub_Name "$save_arg")}
                                          spids: [29573]
                                        )
                                      ]
                                      spids: [29573]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [29577]
                                        )
                                      ]
                                      spids: [29577]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [29009 29010 29583 -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: [29590]
                                        )
                                      ]
                                      spids: [29590]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [29594]
                                        )
                                      ]
                                      spids: [29594]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [29586 29587 29600 -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: [29607]
                                        )
                                      ]
                                      spids: [29607]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [29611]
                                        )
                                      ]
                                      spids: [29611]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [29603 29604 29617 -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: [29624]
                                        )
                                      ]
                                      spids: [29624]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [29629]
                                        )
                                      ]
                                      spids: [29629]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [29620 29621 29635 -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: [29657 29674 29676 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_fatal_error)} 
                                              {(DQ ("only absolute run-paths are allowed"))}
                                            )
                                          ]
                                          spids: [29679 29680 29690 -1]
                                        )
                                      ]
                                      spids: [29650 29654 29693]
                                    )
                                    (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: [29722 29729 29731 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (C {(func_append)} {(rpath)} 
                                                      {(DQ (" ") ($ VSub_Name "$arg"))}
                                                    )
                                                  ]
                                                  spids: [29734 29735 29746 -1]
                                                )
                                              ]
                                              spids: [29712 29719 29749]
                                            )
                                          ]
                                          spids: [-1 29709]
                                        )
                                      ]
                                      else_action: [
                                        (Case
                                          to_match: {(DQ ($ VSub_Name "$xrpath") (" "))}
                                          arms: [
                                            (case_arm
                                              pat_list: [
                                                {(Lit_Other "*") 
                                                  (DQ (" ") ($ VSub_Name "$arg") (" ")) (Lit_Other "*")
                                                }
                                              ]
                                              spids: [29765 29772 29774 -1]
                                            )
                                            (case_arm
                                              pat_list: [{(Lit_Other "*")}]
                                              action: [
                                                (C {(func_append)} {(xrpath)} 
                                                  {(DQ (" ") ($ VSub_Name "$arg"))}
                                                )
                                              ]
                                              spids: [29777 29778 29789 -1]
                                            )
                                          ]
                                          spids: [29755 29762 29792]
                                        )
                                      ]
                                      spids: [29752 29795]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [29798]
                                        )
                                      ]
                                      spids: [29798]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [29638 29643 29804 -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: [29811]
                                        )
                                      ]
                                      spids: [29811]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:prev)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [29815]
                                        )
                                      ]
                                      spids: [29815]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [29807 29808 29821 -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: [29838]
                                        )
                                      ]
                                      spids: [29838]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [29824 29825 29844 -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: [29871]
                                        )
                                      ]
                                      spids: [29871]
                                    )
                                    (C {(func_append)} {(compile_command)} 
                                      {(DQ (" ") ($ VSub_Name "$qarg"))}
                                    )
                                    (C {(func_append)} {(finalize_command)} 
                                      {(DQ (" ") ($ VSub_Name "$qarg"))}
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [29847 29848 29897 -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: [29914]
                                        )
                                      ]
                                      spids: [29914]
                                    )
                                    (C {(func_append)} {(compile_command)} 
                                      {(DQ (" ") ($ VSub_Name "$qarg"))}
                                    )
                                    (C {(func_append)} {(finalize_command)} 
                                      {(DQ (" ") ($ VSub_Name "$qarg"))}
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [29900 29901 29940 -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: [29968]
                                        )
                                      ]
                                      spids: [29968]
                                    )
                                    (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: [29943 29944 29996 -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: [30015]
                                        )
                                      ]
                                      spids: [30015]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [29999 30000 30021 -1]
                                )
                              ]
                              spids: [28568 28572 30024]
                            )
                          ]
                          spids: [-1 28529]
                        )
                      ]
                      spids: [-1 30027]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:prevarg)
                          op: Equal
                          rhs: {($ VSub_Name "$arg")}
                          spids: [30034]
                        )
                      ]
                      spids: [30034]
                    )
                    (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 30061]
                                )
                              ]
                              spids: [-1 30088]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [30046 30047 30094 -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: [30098 30099 30113 -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: [30121]
                                )
                              ]
                              spids: [30121]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [30117 30118 30128 -1]
                        )
                        (case_arm
                          pat_list: [{(-bindir)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(bindir)}
                                  spids: [30136]
                                )
                              ]
                              spids: [30136]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [30132 30133 30143 -1]
                        )
                        (case_arm
                          pat_list: [{(-dlopen)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(dlfiles)}
                                  spids: [30151]
                                )
                              ]
                              spids: [30151]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [30147 30148 30158 -1]
                        )
                        (case_arm
                          pat_list: [{(-dlpreopen)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(dlprefiles)}
                                  spids: [30166]
                                )
                              ]
                              spids: [30166]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [30162 30163 30173 -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: [30181]
                                )
                              ]
                              spids: [30181]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [30177 30178 30188 -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 30221]
                                )
                              ]
                              spids: [-1 30231]
                            )
                            (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: [30251]
                                        )
                                      ]
                                      spids: [30251]
                                    )
                                  ]
                                  spids: [-1 30248]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:prev)
                                      op: Equal
                                      rhs: {(expsyms_regex)}
                                      spids: [30258]
                                    )
                                  ]
                                  spids: [30258]
                                )
                              ]
                              spids: [30255 30262]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [30192 30197 30268 -1]
                        )
                        (case_arm
                          pat_list: [{(-framework)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(framework)}
                                  spids: [30276]
                                )
                              ]
                              spids: [30276]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [30272 30273 30283 -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: [30291]
                                )
                              ]
                              spids: [30291]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [30287 30288 30298 -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: [30332 30347 30370 -1]
                                )
                              ]
                              spids: [30323 30329 30373]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [30310 30320 30379 -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 30429]
                                        )
                                      ]
                                      else_action: [
                                        (C {(func_fatal_error)} {(DQ ("need path for '-L' option"))})
                                      ]
                                      spids: [30441 30451]
                                    )
                                  ]
                                  spids: [-1 30413]
                                )
                              ]
                              spids: [-1 30454]
                            )
                            (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: [30464]
                                )
                              ]
                              spids: [30464]
                            )
                            (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: [30479 30496 30498 -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: [30506 30516]
                                              )
                                            }
                                          spids: [30505]
                                        )
                                      ]
                                      spids: [30505]
                                    )
                                    (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: [30540]
                                        )
                                      ]
                                      spids: [30540]
                                    )
                                  ]
                                  spids: [30501 30502 30544 -1]
                                )
                              ]
                              spids: [30472 30476 30547]
                            )
                            (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: [30560 30577 30584 -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: [30602 30624 30635 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_append)} {(deplibs)} 
                                              {(DQ (" -L") ($ VSub_Name "$dir"))}
                                            )
                                          ]
                                          spids: [30638 30639 30650 -1]
                                        )
                                      ]
                                      spids: [30595 30599 30653]
                                    )
                                    (C {(func_append)} {(lib_search_path)} 
                                      {(DQ (" ") ($ VSub_Name "$dir"))}
                                    )
                                  ]
                                  spids: [30587 30588 30666 -1]
                                )
                              ]
                              spids: [30550 30557 30669]
                            )
                            (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: [30718 30732]
                                              )
                                            }
                                          spids: [30717]
                                        )
                                      ]
                                      spids: [30717]
                                    )
                                    (Case
                                      to_match: 
                                        {(Lit_Other ":") ($ VSub_Name "$dllsearchpath") 
                                          (Lit_Other ":")
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (DQ (":") ($ VSub_Name "$dir") (":")) 
                                              (Lit_Other "*")
                                            }
                                          ]
                                          spids: [30744 30751 30753 -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: [30760]
                                                )
                                              ]
                                              spids: [30760]
                                            )
                                          ]
                                          spids: [30756 30758 30762 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_append)} {(dllsearchpath)} 
                                              {(DQ (":") ($ VSub_Name "$dir"))}
                                            )
                                          ]
                                          spids: [30765 30766 30776 -1]
                                        )
                                      ]
                                      spids: [30735 30741 30779]
                                    )
                                    (Case
                                      to_match: 
                                        {(Lit_Other ":") ($ VSub_Name "$dllsearchpath") 
                                          (Lit_Other ":")
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") 
                                              (DQ (":") ($ VSub_Name "$testbindir") (":")) (Lit_Other "*")
                                            }
                                          ]
                                          spids: [30791 30798 30800 -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: [30807]
                                                )
                                              ]
                                              spids: [30807]
                                            )
                                          ]
                                          spids: [30803 30805 30809 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_append)} {(dllsearchpath)} 
                                              {(DQ (":") ($ VSub_Name "$testbindir"))}
                                            )
                                          ]
                                          spids: [30812 30813 30823 -1]
                                        )
                                      ]
                                      spids: [30782 30788 30826]
                                    )
                                  ]
                                  spids: [30679 30714 30829 -1]
                                )
                              ]
                              spids: [30672 30676 30832]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [30383 30385 30838 -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: [30884 30927 30937 -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: [30940 30945 30968 -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: [30971 31000 31023 -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: [31026 31041 31060 -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: [31063 31076 31099 -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: [31102 31131 31154 -1]
                                        )
                                      ]
                                      spids: [30877 30881 31157]
                                    )
                                  ]
                                  spids: [-1 30874]
                                )
                                (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: [31184 31213 31223 -1]
                                        )
                                      ]
                                      spids: [31177 31181 31226]
                                    )
                                  ]
                                  spids: [31160 31174]
                                )
                              ]
                              spids: [-1 31229]
                            )
                            (C {(func_append)} {(deplibs)} {(DQ (" ") ($ VSub_Name "$arg"))})
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [30842 30844 31245 -1]
                        )
                        (case_arm
                          pat_list: [{(-mllvm)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(mllvm)}
                                  spids: [31253]
                                )
                              ]
                              spids: [31253]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31249 31250 31260 -1]
                        )
                        (case_arm
                          pat_list: [{(-module)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:module)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [31268]
                                )
                              ]
                              spids: [31268]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31264 31265 31275 -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: [31331]
                                )
                              ]
                              spids: [31331]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31291 31298 31338 -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: [31417 31424 31426 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (C {(func_append)} {(new_inherited_linker_flags)} 
                                      {(DQ (" ") ($ VSub_Name "$arg"))}
                                    )
                                  ]
                                  spids: [31429 31431 31442 -1]
                                )
                              ]
                              spids: [31407 31414 31445]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31342 31374 31451 -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: [31459]
                                )
                              ]
                              spids: [31459]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31455 31456 31467 -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: [31475]
                                )
                              ]
                              spids: [31475]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31471 31472 31482 -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: [31566]
                                        )
                                      ]
                                      spids: [31566]
                                    )
                                  ]
                                  spids: [31497 31540 31570 -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: [31576]
                                        )
                                      ]
                                      spids: [31576]
                                    )
                                  ]
                                  spids: [31573 31574 31579 -1]
                                )
                              ]
                              spids: [31490 31494 31582]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31486 31487 31588 -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: [31596]
                                )
                              ]
                              spids: [31596]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31592 31593 31603 -1]
                        )
                        (case_arm
                          pat_list: [{(-objectlist)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(objectlist)}
                                  spids: [31611]
                                )
                              ]
                              spids: [31611]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31607 31608 31618 -1]
                        )
                        (case_arm
                          pat_list: [{(-os2dllname)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(os2dllname)}
                                  spids: [31626]
                                )
                              ]
                              spids: [31626]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31622 31623 31633 -1]
                        )
                        (case_arm
                          pat_list: [{(-o)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(output)}
                                  spids: [31640]
                                )
                              ]
                              spids: [31640]
                            )
                          ]
                          spids: [31637 31638 31643 -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: [31651]
                                )
                              ]
                              spids: [31651]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31647 31648 31658 -1]
                        )
                        (case_arm
                          pat_list: [{(-release)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(release)}
                                  spids: [31666]
                                )
                              ]
                              spids: [31666]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31662 31663 31673 -1]
                        )
                        (case_arm
                          pat_list: [{(-rpath)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(rpath)}
                                  spids: [31681]
                                )
                              ]
                              spids: [31681]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31677 31678 31688 -1]
                        )
                        (case_arm
                          pat_list: [{(-R)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(xrpath)}
                                  spids: [31696]
                                )
                              ]
                              spids: [31696]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31692 31693 31703 -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: [31726]
                                )
                              ]
                              spids: [31726]
                            )
                            (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: [31741 31758 31760 -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: [31782]
                                        )
                                      ]
                                      spids: [31782]
                                    )
                                  ]
                                  spids: [31763 31765 31787 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (C {(func_fatal_error)} 
                                      {(DQ ("only absolute run-paths are allowed"))}
                                    )
                                  ]
                                  spids: [31790 31791 31801 -1]
                                )
                              ]
                              spids: [31734 31738 31804]
                            )
                            (Case
                              to_match: {(DQ ($ VSub_Name "$xrpath") (" "))}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other "*") (DQ (" ") ($ VSub_Name "$dir") (" ")) 
                                      (Lit_Other "*")
                                    }
                                  ]
                                  spids: [31817 31824 31826 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (C {(func_append)} {(xrpath)} {(DQ (" ") ($ VSub_Name "$dir"))})
                                  ]
                                  spids: [31829 31830 31841 -1]
                                )
                              ]
                              spids: [31807 31814 31844]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31707 31709 31850 -1]
                        )
                        (case_arm
                          pat_list: [{(-shared)}]
                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                          spids: [31854 31855 31865 -1]
                        )
                        (case_arm
                          pat_list: [{(-shrext)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(shrext)}
                                  spids: [31873]
                                )
                              ]
                              spids: [31873]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31869 31870 31880 -1]
                        )
                        (case_arm
                          pat_list: [{(-static)} {(-static-libtool-libs)}]
                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                          spids: [31884 31889 31915 -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: [31923]
                                )
                              ]
                              spids: [31923]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31919 31920 31930 -1]
                        )
                        (case_arm
                          pat_list: [{(-version-info)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(vinfo)}
                                  spids: [31938]
                                )
                              ]
                              spids: [31938]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31934 31935 31945 -1]
                        )
                        (case_arm
                          pat_list: [{(-version-number)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(vinfo)}
                                  spids: [31953]
                                )
                              ]
                              spids: [31953]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:vinfo_number)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [31957]
                                )
                              ]
                              spids: [31957]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31949 31950 31964 -1]
                        )
                        (case_arm
                          pat_list: [{(-weak)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(weak)}
                                  spids: [31972]
                                )
                              ]
                              spids: [31972]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [31968 31969 31979 -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: [32003]
                                )
                              ]
                              spids: [32003]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [32007]
                                )
                              ]
                              spids: [32007]
                            )
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:save_ifs)
                                      op: Equal
                                      rhs: {($ VSub_Name "$IFS")}
                                      spids: [32010]
                                    )
                                  ]
                                  spids: [32010]
                                )
                              terminator: <Op_Semi ";">
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(Lit_Comma ",")}
                                  spids: [32014]
                                )
                              ]
                              spids: [32014]
                            )
                            (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: [32030]
                                        )
                                      ]
                                      spids: [32030]
                                    )
                                    (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: [32027 32061]
                                )
                              spids: [32023 32025]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {($ VSub_Name "$save_ifs")}
                                  spids: [32064]
                                )
                              ]
                              spids: [32064]
                            )
                            (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: [32082]
                                )
                              ]
                              spids: [32082]
                            )
                          ]
                          spids: [31983 31986 32086 -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: [32110]
                                )
                              ]
                              spids: [32110]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:arg)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [32114]
                                )
                              ]
                              spids: [32114]
                            )
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:save_ifs)
                                      op: Equal
                                      rhs: {($ VSub_Name "$IFS")}
                                      spids: [32117]
                                    )
                                  ]
                                  spids: [32117]
                                )
                              terminator: <Op_Semi ";">
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(Lit_Comma ",")}
                                  spids: [32121]
                                )
                              ]
                              spids: [32121]
                            )
                            (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: [32137]
                                        )
                                      ]
                                      spids: [32137]
                                    )
                                    (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: [32134 32180]
                                )
                              spids: [32130 32132]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {($ VSub_Name "$save_ifs")}
                                  spids: [32183]
                                )
                              ]
                              spids: [32183]
                            )
                            (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: [32201]
                                )
                              ]
                              spids: [32201]
                            )
                          ]
                          spids: [32090 32093 32205 -1]
                        )
                        (case_arm
                          pat_list: [{(-Xcompiler)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(xcompiler)}
                                  spids: [32213]
                                )
                              ]
                              spids: [32213]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [32209 32210 32220 -1]
                        )
                        (case_arm
                          pat_list: [{(-Xlinker)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(xlinker)}
                                  spids: [32228]
                                )
                              ]
                              spids: [32228]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [32224 32225 32235 -1]
                        )
                        (case_arm
                          pat_list: [{(-XCClinker)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:prev)
                                  op: Equal
                                  rhs: {(xcclinker)}
                                  spids: [32243]
                                )
                              ]
                              spids: [32243]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [32239 32240 32250 -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: [32270]
                                )
                              ]
                              spids: [32270]
                            )
                          ]
                          spids: [32258 32260 32274 -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: [32463]
                                )
                              ]
                              spids: [32463]
                            )
                            (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: [32346 32453 32500 -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: [32518 32528]
                                              )
                                            )
                                          }
                                        )
                                      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: [32539]
                                        )
                                      ]
                                      spids: [32539]
                                    )
                                    (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: [32582]
                                                )
                                              ]
                                              spids: [32582]
                                            )
                                          ]
                                          spids: [32574 32579 32586 -1]
                                        )
                                      ]
                                      spids: [32567 32571 32589]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [-1 32532]
                                )
                              ]
                              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: [32609]
                                    )
                                  ]
                                  spids: [32609]
                                )
                              ]
                              spids: [32595 32613]
                            )
                          ]
                          spids: [32504 32506 32616 -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: [32641]
                                )
                              ]
                              spids: [32641]
                            )
                          ]
                          spids: [32624 32631 32645 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*") (.) ($ VSub_Name "$objext")}]
                          action: [(C {(func_append)} {(objs)} {(DQ (" ") ($ VSub_Name "$arg"))})]
                          spids: [32649 32652 32669 -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: [32699]
                                        )
                                      ]
                                      spids: [32699]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:non_pic_object)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [32702]
                                        )
                                      ]
                                      spids: [32702]
                                    )
                                    (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 32766]
                                        )
                                      ]
                                      spids: [-1 32778]
                                    )
                                    (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: [32800]
                                        )
                                      ]
                                      spids: [32800]
                                    )
                                    (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: [32824]
                                                )
                                              ]
                                              spids: [32824]
                                            )
                                            (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: [32884]
                                                                )
                                                              ]
                                                              spids: [32884]
                                                            )
                                                            (ControlFlow
                                                              token: <ControlFlow_Continue continue>
                                                            )
                                                          ]
                                                          spids: [-1 32871]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:prev)
                                                              op: Equal
                                                              rhs: {(dlprefiles)}
                                                              spids: [32897]
                                                            )
                                                          ]
                                                          spids: [32897]
                                                        )
                                                      ]
                                                      spids: [32890 32901]
                                                    )
                                                  ]
                                                  spids: [-1 32843]
                                                )
                                              ]
                                              spids: [-1 32904]
                                            )
                                            (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: [32942]
                                                        )
                                                      ]
                                                      spids: [32942]
                                                    )
                                                  ]
                                                  spids: [-1 32925]
                                                )
                                              ]
                                              spids: [-1 32945]
                                            )
                                            (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: [32963]
                                                )
                                              ]
                                              spids: [32963]
                                            )
                                          ]
                                          spids: [32817]
                                        )
                                      ]
                                      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: [32996]
                                                )
                                              ]
                                              spids: [32996]
                                            )
                                            (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: [33042]
                                                        )
                                                      ]
                                                      spids: [33042]
                                                    )
                                                  ]
                                                  spids: [-1 33039]
                                                )
                                              ]
                                              spids: [-1 33046]
                                            )
                                          ]
                                          spids: [-1 32989]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:non_pic_object)
                                              op: Equal
                                              rhs: {($ VSub_Name "$pic_object")}
                                              spids: [33060]
                                            )
                                          ]
                                          spids: [33060]
                                        )
                                        (C {(func_append)} {(non_pic_objects)} 
                                          {(DQ (" ") ($ VSub_Name "$non_pic_object"))}
                                        )
                                      ]
                                      spids: [33049 33074]
                                    )
                                  ]
                                  spids: [-1 32696]
                                )
                              ]
                              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: [33110]
                                            )
                                          ]
                                          spids: [33110]
                                        )
                                        (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: [33122]
                                            )
                                          ]
                                          spids: [33122]
                                        )
                                        (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: [33129]
                                            )
                                          ]
                                          spids: [33129]
                                        )
                                        (C {(func_append)} {(libobjs)} 
                                          {(DQ (" ") ($ VSub_Name "$pic_object"))}
                                        )
                                        (C {(func_append)} {(non_pic_objects)} 
                                          {(DQ (" ") ($ VSub_Name "$non_pic_object"))}
                                        )
                                      ]
                                      spids: [-1 33089]
                                    )
                                  ]
                                  else_action: [
                                    (C {(func_fatal_error)} 
                                      {
                                        (DQ ("'") ($ VSub_Name "$arg") 
                                          ("' is not a valid libtool object")
                                        )
                                      }
                                    )
                                  ]
                                  spids: [33154 33166]
                                )
                              ]
                              spids: [33077 33169]
                            )
                          ]
                          spids: [32673 32675 33172 -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: [33176 33179 33209 -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: [33260]
                                        )
                                      ]
                                      spids: [33260]
                                    )
                                  ]
                                  spids: [-1 33243]
                                )
                                (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: [33293]
                                        )
                                      ]
                                      spids: [33293]
                                    )
                                  ]
                                  spids: [33263 33276]
                                )
                              ]
                              else_action: [
                                (C {(func_append)} {(deplibs)} 
                                  {(DQ (" ") ($ VSub_Name "$func_resolve_sysroot_result"))}
                                )
                              ]
                              spids: [33296 33309]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [33213 33215 33315 -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: [33342]
                                )
                              ]
                              spids: [33342]
                            )
                          ]
                          spids: [33323 33324 33346 -1]
                        )
                      ]
                      spids: [30039 30043 33349]
                    )
                    (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 33371]
                        )
                      ]
                      spids: [-1 33394]
                    )
                  ]
                  spids: [28482 33397]
                )
            )
            (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 33449]
                )
              ]
              spids: [-1 33480]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:oldlibs) op:Equal rhs:{(SQ )} spids:[33484])]
              spids: [33484]
            )
            (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: [33498]
                )
              ]
              spids: [33498]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libobjs_save)
                  op: Equal
                  rhs: {($ VSub_Name "$libobjs")}
                  spids: [33502]
                )
              ]
              spids: [33502]
            )
            (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 33518]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:shlib_search_path)
                      op: Equal
                      rhs: {(SQ )}
                      spids: [33555]
                    )
                  ]
                  spids: [33555]
                )
              ]
              spids: [33552 33558]
            )
            (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: [33606]
                )
              ]
              spids: [33606]
            )
            (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: [33619]
                )
              ]
              spids: [33619]
            )
            (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 33648 33658 -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: [33666]
                        )
                      ]
                      spids: [33666]
                    )
                  ]
                  spids: [33661 33664 33669 -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: [33682]
                        )
                      ]
                      spids: [33682]
                    )
                  ]
                  spids: [33672 33680 33685 -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: [33692]
                        )
                      ]
                      spids: [33692]
                    )
                  ]
                  spids: [33688 33690 33695 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:linkmode)
                          op: Equal
                          rhs: {(prog)}
                          spids: [33701]
                        )
                      ]
                      spids: [33701]
                    )
                  ]
                  spids: [33698 33699 33704 -1]
                )
              ]
              spids: [33639 33643 33710]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:specialdeplibs)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [33714]
                )
              ]
              spids: [33714]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:libs) op:Equal rhs:{(SQ )} spids:[33718])]
              spids: [33718]
            )
            (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: [33759 33766 33777 -1]
                                )
                              ]
                              spids: [33749 33756 33780]
                            )
                          ]
                          spids: [-1 33746]
                        )
                      ]
                      spids: [-1 33783]
                    )
                    (C {(func_append)} {(libs)} {(DQ (" ") ($ VSub_Name "$deplib"))})
                  ]
                  spids: [33738 33796]
                )
              spids: [33734 33736]
            )
            (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: [33816]
                        )
                      ]
                      spids: [33816]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:pre_post_deps)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [33841]
                        )
                      ]
                      spids: [33841]
                    )
                    (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: [33876 33883 33894 -1]
                                        )
                                      ]
                                      spids: [33866 33873 33897]
                                    )
                                    (C {(func_append)} {(pre_post_deps)} 
                                      {(DQ (" ") ($ VSub_Name "$pre_post_dep"))}
                                    )
                                  ]
                                  spids: [33863 33910]
                                )
                              spids: [33857 33861]
                            )
                          ]
                          spids: [-1 33849]
                        )
                      ]
                      spids: [-1 33913]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:pre_post_deps)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [33916]
                        )
                      ]
                      spids: [33916]
                    )
                  ]
                  spids: [-1 33813]
                )
              ]
              spids: [-1 33919]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:deplibs) op:Equal rhs:{(SQ )} spids:[33923])]
              spids: [33923]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:newdependency_libs)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [33926]
                )
              ]
              spids: [33926]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:newlib_search_path)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [33929]
                )
              ]
              spids: [33929]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:need_relink) op:Equal rhs:{(no)} spids:[33932])]
              spids: [33932]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:notinst_deplibs)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [33939]
                )
              ]
              spids: [33939]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:notinst_path)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [33945]
                )
              ]
              spids: [33945]
            )
            (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: [33963]
                        )
                      ]
                      spids: [33963]
                    )
                    (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: [33990 33992 33994 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (C {(func_fatal_help)} 
                                      {
                                        (DQ ("libraries can '-dlopen' only libtool libraries: ") 
                                          ($ VSub_Name "$file")
                                        )
                                      }
                                    )
                                  ]
                                  spids: [33997 33998 34009 -1]
                                )
                              ]
                              spids: [33983 33987 34012]
                            )
                          ]
                          spids: [33980 34015]
                        )
                      spids: [33974 33978]
                    )
                  ]
                  spids: [33959 33960 34018 -1]
                )
                (case_arm
                  pat_list: [{(prog)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:compile_deplibs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [34025]
                        )
                      ]
                      spids: [34025]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:finalize_deplibs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [34028]
                        )
                      ]
                      spids: [34028]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:alldeplibs)
                          op: Equal
                          rhs: {(false)}
                          spids: [34031]
                        )
                      ]
                      spids: [34031]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:newdlfiles)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [34035]
                        )
                      ]
                      spids: [34035]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:newdlprefiles)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [34038]
                        )
                      ]
                      spids: [34038]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:passes)
                          op: Equal
                          rhs: {(DQ ("conv scan dlopen dlpreopen link"))}
                          spids: [34041]
                        )
                      ]
                      spids: [34041]
                    )
                  ]
                  spids: [34021 34022 34047 -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: [34053]
                        )
                      ]
                      spids: [34053]
                    )
                  ]
                  spids: [34050 34051 34059 -1]
                )
              ]
              spids: [33952 33956 34062]
            )
            (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: [34114]
                                )
                              ]
                              spids: [34114]
                            )
                            (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: [34129]
                                        )
                                      ]
                                      spids: [34129]
                                    )
                                  ]
                                  spids: [34126 34137]
                                )
                              spids: [34122 34124]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {($ VSub_Name "$tmp_deplibs")}
                                  spids: [34140]
                                )
                              ]
                              spids: [34140]
                            )
                          ]
                          spids: [-1 34103]
                        )
                      ]
                      spids: [-1 34144]
                    )
                    (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: [34185]
                                )
                              ]
                              spids: [34185]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [34189]
                                )
                              ]
                              spids: [34189]
                            )
                          ]
                          spids: [-1 34182]
                        )
                      ]
                      spids: [-1 34192]
                    )
                    (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: [34221]
                                        )
                                      ]
                                      spids: [34221]
                                    )
                                  ]
                                  spids: [34218 34219 34224 -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: [34230]
                                        )
                                      ]
                                      spids: [34230]
                                    )
                                  ]
                                  spids: [34227 34228 34233 -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: [34240]
                                        )
                                      ]
                                      spids: [34240]
                                    )
                                    (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: [34261]
                                            )
                                          ]
                                          spids: [34261]
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                  ]
                                  spids: [34236 34237 34269 -1]
                                )
                              ]
                              spids: [34211 34215 34272]
                            )
                          ]
                          spids: [-1 34208]
                        )
                      ]
                      spids: [-1 34275]
                    )
                    (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: [34318]
                                        )
                                      ]
                                      spids: [34318]
                                    )
                                    (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: [34335 34337 34345 -1]
                                        )
                                      ]
                                      spids: [34328 34332 34348]
                                    )
                                    (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: [34379]
                                                )
                                              ]
                                              spids: [34379]
                                            )
                                            (Case
                                              to_match: {(DQ (" ") ($ VSub_Name "$weak_libs") (" "))}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other "*") 
                                                      (DQ (" ") ($ VSub_Name "$deplib_base") (" ")) (Lit_Other "*")
                                                    }
                                                  ]
                                                  spids: [34394 34401 34403 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (C {(func_append)} {(deplibs)} 
                                                      {(DQ (" ") ($ VSub_Name "$deplib"))}
                                                    )
                                                  ]
                                                  spids: [34406 34407 34418 -1]
                                                )
                                              ]
                                              spids: [34383 34391 34421]
                                            )
                                          ]
                                          spids: [34369 34424]
                                        )
                                      spids: [34365 34367]
                                    )
                                  ]
                                  spids: [34311 34427]
                                )
                              spids: [34307 34309]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libs)
                                  op: Equal
                                  rhs: {($ VSub_Name "$dlprefiles")}
                                  spids: [34430]
                                )
                              ]
                              spids: [34430]
                            )
                          ]
                          spids: [-1 34295]
                        )
                      ]
                      spids: [-1 34434]
                    )
                    (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: [34457]
                                )
                              ]
                              spids: [34457]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [34461]
                                )
                              ]
                              spids: [34461]
                            )
                          ]
                          spids: [-1 34450]
                        )
                      ]
                      spids: [-1 34464]
                    )
                    (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: [34480]
                                )
                              ]
                              spids: [34480]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:found)
                                  op: Equal
                                  rhs: {(false)}
                                  spids: [34483]
                                )
                              ]
                              spids: [34483]
                            )
                            (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: [34549]
                                                )
                                              ]
                                              spids: [34549]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:finalize_deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$deplib") (" ") 
                                                        ($ VSub_Name "$finalize_deplibs")
                                                      )
                                                    }
                                                  spids: [34557]
                                                )
                                              ]
                                              spids: [34557]
                                            )
                                          ]
                                          spids: [-1 34546]
                                        )
                                      ]
                                      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: [34604 34611 34613 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other "*")}]
                                                      action: [
                                                        (C {(func_append)} 
                                                          {(new_inherited_linker_flags)} {(DQ (" ") ($ VSub_Name "$deplib"))}
                                                        )
                                                      ]
                                                      spids: [34616 34618 34629 -1]
                                                    )
                                                  ]
                                                  spids: [34594 34601 34632]
                                                )
                                              ]
                                              spids: [-1 34591]
                                            )
                                          ]
                                          spids: [-1 34635]
                                        )
                                      ]
                                      spids: [34565 34638]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [34494 34526 34644 -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 34679]
                                        )
                                      ]
                                      spids: [-1 34692]
                                    )
                                    (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: [34709]
                                        )
                                      ]
                                      spids: [34709]
                                    )
                                    (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: [34729]
                                                )
                                              ]
                                              spids: [34729]
                                            )
                                          ]
                                          spids: [-1 34726]
                                        )
                                      ]
                                      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: [34746]
                                            )
                                          ]
                                          spids: [34746]
                                        )
                                      ]
                                      spids: [34743 34758]
                                    )
                                    (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: [34795]
                                                        )
                                                      ]
                                                      spids: [34795]
                                                    )
                                                    (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: [34832]
                                                                        )
                                                                      ]
                                                                      spids: [34832]
                                                                    )
                                                                  ]
                                                                  spids: [-1 34829]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:found)
                                                                      op: Equal
                                                                      rhs: {(false)}
                                                                      spids: [34839]
                                                                    )
                                                                  ]
                                                                  spids: [34839]
                                                                )
                                                              ]
                                                              spids: [34836 34843]
                                                            )
                                                            (ControlFlow
                                                              token: <ControlFlow_Break break>
                                                              arg_word: {(2)}
                                                            )
                                                          ]
                                                          spids: [-1 34813]
                                                        )
                                                      ]
                                                      spids: [-1 34851]
                                                    )
                                                  ]
                                                  spids: [34788 34854]
                                                )
                                              spids: [34778 34786]
                                            )
                                          ]
                                          spids: [34770 34857]
                                        )
                                      spids: [34766 34768]
                                    )
                                    (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: [34931]
                                                                        )
                                                                      ]
                                                                      spids: [34931]
                                                                    )
                                                                    (Assignment
                                                                      keyword: Assign_None
                                                                      pairs: [
                                                                        (assign_pair
                                                                          lhs: 
                                                                            (LhsName
                                                                              name: old_library
                                                                            )
                                                                          op: Equal
                                                                          rhs: {(SQ )}
                                                                          spids: [34934]
                                                                        )
                                                                      ]
                                                                      spids: [34934]
                                                                    )
                                                                    (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: [34958]
                                                                                )
                                                                              ]
                                                                              spids: [34958]
                                                                            )
                                                                          ]
                                                                          spids: [34955 34962]
                                                                        )
                                                                      spids: [34949 34953]
                                                                    )
                                                                    (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: [34988]
                                                                                )
                                                                              ]
                                                                              spids: [34988]
                                                                            )
                                                                            (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: [35006]
                                                                                )
                                                                              ]
                                                                              spids: [35006]
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: lib
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      ($ VSub_Name 
"$ladir"
                                                                                      ) (/) ($ VSub_Name "$old_library")
                                                                                    }
                                                                                  spids: [35010]
                                                                                )
                                                                              ]
                                                                              spids: [35010]
                                                                            )
                                                                            (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: [
35036
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [35036]
                                                                                    )
                                                                                    (Assignment
                                                                                      keyword: 
Assign_None
                                                                                      pairs: [
                                                                                        (assign_pair
                                                                                          lhs: 
                                                                                            (LhsName
                                                                                              name: 
finalize_deplibs
                                                                                            )
                                                                                          op: Equal
                                                                                          rhs: 
                                                                                            {
                                                                                              (DQ 
                                                                                                ($ 
VSub_Name "$deplib"
                                                                                                ) (" ") ($ VSub_Name "$finalize_deplibs")
                                                                                              )
                                                                                            }
                                                                                          spids: [
35044
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [35044]
                                                                                    )
                                                                                  ]
                                                                                  spids: [-1 35033]
                                                                                )
                                                                              ]
                                                                              else_action: [
                                                                                (Assignment
                                                                                  keyword: 
Assign_None
                                                                                  pairs: [
                                                                                    (assign_pair
                                                                                      lhs: 
                                                                                        (LhsName
                                                                                          name: 
deplibs
                                                                                        )
                                                                                      op: Equal
                                                                                      rhs: 
                                                                                        {
                                                                                          (DQ 
                                                                                            ($ 
VSub_Name "$deplib"
                                                                                            ) (" ") ($ VSub_Name "$deplibs")
                                                                                          )
                                                                                        }
                                                                                      spids: [35055]
                                                                                    )
                                                                                  ]
                                                                                  spids: [35055]
                                                                                )
                                                                                (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: [
35075
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [35075]
                                                                                    )
                                                                                  ]
                                                                                  op_id: Op_DAmp
                                                                                )
                                                                              ]
                                                                              spids: [35052 35083]
                                                                            )
                                                                            (ControlFlow
                                                                              token: 
                                                                                <
ControlFlow_Continue continue
                                                                                >
                                                                            )
                                                                          ]
                                                                          spids: [-1 34982]
                                                                        )
                                                                      ]
                                                                      spids: [-1 35089]
                                                                    )
                                                                  ]
                                                                  spids: [-1 34928]
                                                                )
                                                              ]
                                                              spids: [-1 35092]
                                                            )
                                                          ]
                                                          spids: [34909 34916 35095 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          spids: [35098 35099 35101 -1]
                                                        )
                                                      ]
                                                      spids: [34896 34906 35104]
                                                    )
                                                  ]
                                                  spids: [-1 34893]
                                                )
                                              ]
                                              spids: [-1 35107]
                                            )
                                          ]
                                          spids: [-1 34865]
                                        )
                                      ]
                                      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: [35137]
                                                    )
                                                  ]
                                                  spids: [35137]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:finalize_deplibs)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name "$deplib") (" ") 
                                                            ($ VSub_Name "$finalize_deplibs")
                                                          )
                                                        }
                                                      spids: [35145]
                                                    )
                                                  ]
                                                  spids: [35145]
                                                )
                                              ]
                                              spids: [-1 35134]
                                            )
                                          ]
                                          else_action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$deplib") (" ") 
                                                        ($ VSub_Name "$deplibs")
                                                      )
                                                    }
                                                  spids: [35156]
                                                )
                                              ]
                                              spids: [35156]
                                            )
                                            (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: [35176]
                                                    )
                                                  ]
                                                  spids: [35176]
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          ]
                                          spids: [35153 35184]
                                        )
                                        (ControlFlow
                                          token: <ControlFlow_Continue continue>
                                        )
                                      ]
                                      spids: [35110 35190]
                                    )
                                  ]
                                  spids: [34647 34649 35193 -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: [35224]
                                                )
                                              ]
                                              spids: [35224]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:finalize_deplibs)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (DQ ($ VSub_Name "$deplib") (" ") 
                                                        ($ VSub_Name "$finalize_deplibs")
                                                      )
                                                    }
                                                  spids: [35232]
                                                )
                                              ]
                                              spids: [35232]
                                            )
                                          ]
                                          spids: [-1 35221]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:deplibs)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name "$deplib") (" ") 
                                                    ($ VSub_Name "$deplibs")
                                                  )
                                                }
                                              spids: [35243]
                                            )
                                          ]
                                          spids: [35243]
                                        )
                                        (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: [35277 35284 35286 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other "*")}]
                                                      action: [
                                                        (C {(func_append)} 
                                                          {(new_inherited_linker_flags)} {(DQ (" ") ($ VSub_Name "$deplib"))}
                                                        )
                                                      ]
                                                      spids: [35289 35291 35302 -1]
                                                    )
                                                  ]
                                                  spids: [35267 35274 35305]
                                                )
                                              ]
                                              spids: [-1 35264]
                                            )
                                          ]
                                          spids: [-1 35308]
                                        )
                                      ]
                                      spids: [35240 35311]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [35199 35201 35317 -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: [35336]
                                                )
                                              ]
                                              spids: [35336]
                                            )
                                            (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: [35359]
                                                )
                                              ]
                                              spids: [35359]
                                            )
                                            (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: [35332 35333 35398 -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: [35421]
                                                        )
                                                      ]
                                                      spids: [35421]
                                                    )
                                                    (ControlFlow
                                                      token: <ControlFlow_Continue continue>
                                                    )
                                                  ]
                                                  spids: [-1 35418]
                                                )
                                              ]
                                              spids: [-1 35432]
                                            )
                                            (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: [35451]
                                                        )
                                                      ]
                                                      spids: [35451]
                                                    )
                                                  ]
                                                  spids: [-1 35448]
                                                )
                                              ]
                                              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: [35462]
                                                    )
                                                  ]
                                                  spids: [35462]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:finalize_deplibs)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name "$deplib") (" ") 
                                                            ($ VSub_Name "$finalize_deplibs")
                                                          )
                                                        }
                                                      spids: [35470]
                                                    )
                                                  ]
                                                  spids: [35470]
                                                )
                                              ]
                                              spids: [35459 35478]
                                            )
                                            (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: [35401 35402 35512 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_warning)} 
                                              {(DQ ("'-L' is ignored for archives/objects"))}
                                            )
                                          ]
                                          spids: [35515 35516 35526 -1]
                                        )
                                      ]
                                      spids: [35325 35329 35529]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [35320 35322 35538 -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: [35586]
                                                )
                                              ]
                                              spids: [35586]
                                            )
                                            (Case
                                              to_match: {(DQ ($ VSub_Name "$xrpath") (" "))}
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other "*") 
                                                      (DQ (" ") ($ VSub_Name "$dir") (" ")) (Lit_Other "*")
                                                    }
                                                  ]
                                                  spids: [35604 35611 35613 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (C {(func_append)} {(xrpath)} 
                                                      {(DQ (" ") ($ VSub_Name "$dir"))}
                                                    )
                                                  ]
                                                  spids: [35616 35617 35628 -1]
                                                )
                                              ]
                                              spids: [35594 35601 35631]
                                            )
                                          ]
                                          spids: [-1 35562]
                                        )
                                      ]
                                      spids: [-1 35634]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:deplibs)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$deplib") (" ") 
                                                ($ VSub_Name "$deplibs")
                                              )
                                            }
                                          spids: [35637]
                                        )
                                      ]
                                      spids: [35637]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [35544 35546 35648 -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: [35663]
                                        )
                                      ]
                                      spids: [35663]
                                    )
                                  ]
                                  spids: [35651 35653 35667 -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: [35692]
                                                )
                                              ]
                                              spids: [35692]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [-1 35689]
                                        )
                                      ]
                                      spids: [-1 35703]
                                    )
                                    (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: [35736 35743 35745 -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: [35752]
                                                        )
                                                      ]
                                                      spids: [35752]
                                                    )
                                                    (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: [35779 35795]
                                                                      )
                                                                    }
                                                                  spids: [35778]
                                                                )
                                                              ]
                                                              spids: [35778]
                                                            )
                                                            (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: [35810]
                                                                                )
                                                                              ]
                                                                            )
                                                                            (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: [35829]
                                                                                )
                                                                              ]
                                                                            )
                                                                          ]
                                                                          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: [35837]
                                                                        )
                                                                      ]
                                                                      spids: [35837]
                                                                    )
                                                                  ]
                                                                  spids: [-1 35834]
                                                                )
                                                              ]
                                                              spids: [-1 35841]
                                                            )
                                                          ]
                                                          spids: [35763 35765 35844 -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: [35851]
                                                                )
                                                              ]
                                                              spids: [35851]
                                                            )
                                                          ]
                                                          spids: [35847 35848 35855 -1]
                                                        )
                                                      ]
                                                      spids: [35756 35760 35858]
                                                    )
                                                    (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: [35890]
                                                                )
                                                              ]
                                                              spids: [35890]
                                                            )
                                                          ]
                                                          spids: [-1 35866]
                                                        )
                                                      ]
                                                      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: [35898 35950]
                                                    )
                                                  ]
                                                  spids: [35748 35749 35953 -1]
                                                )
                                              ]
                                              spids: [35725 35733 35956]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [35713 35714 35962 -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: [35986]
                                                        )
                                                      ]
                                                      spids: [35986]
                                                    )
                                                  ]
                                                  spids: [-1 35983]
                                                )
                                              ]
                                              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: [35997]
                                                    )
                                                  ]
                                                  spids: [35997]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:finalize_deplibs)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ($ VSub_Name "$deplib") (" ") 
                                                            ($ VSub_Name "$finalize_deplibs")
                                                          )
                                                        }
                                                      spids: [36005]
                                                    )
                                                  ]
                                                  spids: [36005]
                                                )
                                              ]
                                              spids: [35994 36013]
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Continue continue>
                                            )
                                          ]
                                          spids: [35965 35966 36019 -1]
                                        )
                                      ]
                                      spids: [35706 35710 36022]
                                    )
                                  ]
                                  spids: [35670 35673 36028 -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: [36061]
                                                )
                                              ]
                                              spids: [36061]
                                            )
                                          ]
                                          spids: [-1 36058]
                                        )
                                        (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: [36144]
                                                        )
                                                      ]
                                                      spids: [36144]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:finalize_deplibs)
                                                          op: Equal
                                                          rhs: 
                                                            {
                                                              (DQ ($ VSub_Name "$deplib") (" ") 
                                                                ($ VSub_Name "$finalize_deplibs")
                                                              )
                                                            }
                                                          spids: [36152]
                                                        )
                                                      ]
                                                      spids: [36152]
                                                    )
                                                  ]
                                                  spids: [-1 36123]
                                                )
                                              ]
                                              else_action: [
                                                (C {(func_append)} {(newdlfiles)} 
                                                  {(DQ (" ") ($ VSub_Name "$deplib"))}
                                                )
                                              ]
                                              spids: [36160 36173]
                                            )
                                          ]
                                          spids: [36069 36082]
                                        )
                                      ]
                                      spids: [-1 36176]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [36034 36042 36182 -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: [36191]
                                        )
                                      ]
                                      spids: [36191]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [36185 36188 36198 -1]
                                )
                              ]
                              spids: [34487 34491 36201]
                            )
                            (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: [36274]
                                )
                              ]
                              spids: [36274]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dlname)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [36279]
                                )
                              ]
                              spids: [36279]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dlopen)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [36282]
                                )
                              ]
                              spids: [36282]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:dlpreopen)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [36285]
                                )
                              ]
                              spids: [36285]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libdir)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [36288]
                                )
                              ]
                              spids: [36288]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:library_names)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [36291]
                                )
                              ]
                              spids: [36291]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:old_library)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [36294]
                                )
                              ]
                              spids: [36294]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:inherited_linker_flags)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [36297]
                                )
                              ]
                              spids: [36297]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:installed)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [36308]
                                )
                              ]
                              spids: [36308]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:shouldnotlink)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [36312]
                                )
                              ]
                              spids: [36312]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:avoidtemprpath)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [36316]
                                )
                              ]
                              spids: [36316]
                            )
                            (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: [36352 36366]
                                              )
                                            }
                                          spids: [36351]
                                        )
                                      ]
                                      spids: [36351]
                                    )
                                    (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: [36392 36399 36401 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (C {(func_append)} {(new_inherited_linker_flags)} 
                                                      {
                                                        (DQ (" ") 
                                                          ($ VSub_Name "$tmp_inherited_linker_flag")
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [36404 36405 36415 -1]
                                                )
                                              ]
                                              spids: [36381 36389 36418]
                                            )
                                          ]
                                          spids: [36378 36421]
                                        )
                                      spids: [36374 36376]
                                    )
                                  ]
                                  spids: [-1 36348]
                                )
                              ]
                              spids: [-1 36424]
                            )
                            (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: [36428 36443]
                                      )
                                    }
                                  spids: [36427]
                                )
                              ]
                              spids: [36427]
                            )
                            (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: [36482]
                                                )
                                              ]
                                              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 36512]
                                )
                              ]
                              spids: [-1 36555]
                            )
                            (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: [36579]
                                        )
                                      ]
                                      spids: [36579]
                                    )
                                    (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 36612]
                                                )
                                              ]
                                              spids: [-1 36624]
                                            )
                                            (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: [36659]
                                                )
                                              ]
                                              spids: [36659]
                                            )
                                            (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: [36674]
                                                        )
                                                      ]
                                                      spids: [36674]
                                                    )
                                                    (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: [36700 36707 36718 -1]
                                                                )
                                                              ]
                                                              spids: [36690 36697 36721]
                                                            )
                                                          ]
                                                          spids: [-1 36687]
                                                        )
                                                      ]
                                                      spids: [-1 36724]
                                                    )
                                                    (C {(func_append)} {(tmp_libs)} 
                                                      {(DQ (" ") ($ VSub_Name "$deplib"))}
                                                    )
                                                  ]
                                                  spids: [36671 36737]
                                                )
                                              spids: [36667 36669]
                                            )
                                          ]
                                          spids: [-1 36598]
                                        )
                                        (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: [36740 36767]
                                        )
                                      ]
                                      spids: [-1 36779]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [-1 36572]
                                )
                              ]
                              spids: [-1 36785]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:linklib)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [36797]
                                )
                              ]
                              spids: [36797]
                            )
                            (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: [36813]
                                            )
                                          ]
                                          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: [36849]
                                        )
                                      ]
                                      spids: [36849]
                                    )
                                  ]
                                  spids: [-1 36846]
                                )
                              ]
                              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: [36870]
                                            )
                                          ]
                                          spids: [36870]
                                        )
                                      ]
                                      spids: [36867 36874]
                                    )
                                  spids: [36861 36865]
                                )
                              ]
                              spids: [36853 36877]
                            )
                            (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 36891]
                                )
                              ]
                              spids: [-1 36903]
                            )
                            (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 36986]
                                        )
                                      ]
                                      else_action: [
                                        (C {(func_append)} {(newdlfiles)} 
                                          {(DQ (" ") ($ VSub_Name "$lib"))}
                                        )
                                      ]
                                      spids: [37017 37030]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [-1 36924]
                                )
                              ]
                              spids: [-1 37036]
                            )
                            (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: [37073]
                                        )
                                      ]
                                      spids: [37073]
                                    )
                                  ]
                                  spids: [37054 37071 37076 -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: [37084 37094]
                                              )
                                            }
                                          spids: [37083]
                                        )
                                      ]
                                      spids: [37083]
                                    )
                                    (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: [37127]
                                                )
                                              ]
                                              spids: [37127]
                                            )
                                          ]
                                          spids: [-1 37108]
                                        )
                                      ]
                                      spids: [-1 37131]
                                    )
                                  ]
                                  spids: [37079 37080 37134 -1]
                                )
                              ]
                              spids: [37047 37051 37137]
                            )
                            (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: [37147]
                                )
                              ]
                              spids: [37147]
                            )
                            (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: [37212]
                                                )
                                              ]
                                              spids: [37212]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:absdir)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$abs_ladir")}
                                                  spids: [37216]
                                                )
                                              ]
                                              spids: [37216]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:libdir)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$abs_ladir")}
                                                  spids: [37220]
                                                )
                                              ]
                                              spids: [37220]
                                            )
                                          ]
                                          spids: [-1 37200]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:dir)
                                              op: Equal
                                              rhs: 
                                                {($ VSub_Name "$lt_sysroot") ($ VSub_Name "$libdir")}
                                              spids: [37227]
                                            )
                                          ]
                                          spids: [37227]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:absdir)
                                              op: Equal
                                              rhs: 
                                                {($ VSub_Name "$lt_sysroot") ($ VSub_Name "$libdir")}
                                              spids: [37232]
                                            )
                                          ]
                                          spids: [37232]
                                        )
                                      ]
                                      spids: [37224 37237]
                                    )
                                    (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: [37252]
                                            )
                                          ]
                                          spids: [37252]
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                  ]
                                  spids: [-1 37169]
                                )
                              ]
                              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: [37291]
                                            )
                                          ]
                                          spids: [37291]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:absdir)
                                              op: Equal
                                              rhs: {($ VSub_Name "$abs_ladir")}
                                              spids: [37295]
                                            )
                                          ]
                                          spids: [37295]
                                        )
                                        (C {(func_append)} {(notinst_path)} 
                                          {(DQ (" ") ($ VSub_Name "$abs_ladir"))}
                                        )
                                      ]
                                      spids: [-1 37288]
                                    )
                                  ]
                                  else_action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dir)
                                          op: Equal
                                          rhs: {($ VSub_Name "$ladir") (/) ($ VSub_Name "$objdir")}
                                          spids: [37316]
                                        )
                                      ]
                                      spids: [37316]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:absdir)
                                          op: Equal
                                          rhs: 
                                            {($ VSub_Name "$abs_ladir") (/) ($ VSub_Name "$objdir")}
                                          spids: [37322]
                                        )
                                      ]
                                      spids: [37322]
                                    )
                                    (C {(func_append)} {(notinst_path)} 
                                      {(DQ (" ") ($ VSub_Name "$abs_ladir"))}
                                    )
                                  ]
                                  spids: [37313 37342]
                                )
                              ]
                              spids: [37256 37345]
                            )
                            (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: [37366]
                                )
                              ]
                              spids: [37366]
                            )
                            (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 37414]
                                        )
                                      ]
                                      spids: [-1 37426]
                                    )
                                    (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 37502]
                                                )
                                              ]
                                              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: [37539 37586]
                                            )
                                          ]
                                          spids: [37440 37456 37589 -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 37616]
                                                )
                                                (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: [37667 37678]
                                                )
                                              ]
                                              else_action: [
                                                (C {(func_append)} {(newdlprefiles)} 
                                                  {
                                                    (DQ (" ") ($ VSub_Name "$dir") (/) 
                                                      ($ VSub_Name "$linklib")
                                                    )
                                                  }
                                                )
                                              ]
                                              spids: [37693 37708]
                                            )
                                          ]
                                          spids: [37592 37594 37711 -1]
                                        )
                                      ]
                                      spids: [37429 37433 37714]
                                    )
                                  ]
                                  spids: [-1 37388]
                                )
                              ]
                              spids: [-1 37717]
                            )
                            (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: [37758]
                                                )
                                              ]
                                              spids: [37758]
                                            )
                                          ]
                                          spids: [-1 37755]
                                        )
                                        (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: [37788]
                                                )
                                              ]
                                              spids: [37788]
                                            )
                                            (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: [37798]
                                                )
                                              ]
                                              spids: [37798]
                                            )
                                          ]
                                          spids: [37768 37785]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:deplibs)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ($ VSub_Name "$lib") (" ") 
                                                    ($ VSub_Name "$deplibs")
                                                  )
                                                }
                                              spids: [37811]
                                            )
                                          ]
                                          spids: [37811]
                                        )
                                      ]
                                      spids: [37808 37822]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [-1 37735]
                                )
                              ]
                              spids: [-1 37828]
                            )
                            (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: [37872]
                                        )
                                      ]
                                      spids: [37872]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:linkalldeplibs)
                                          op: Equal
                                          rhs: {(false)}
                                          spids: [37881]
                                        )
                                      ]
                                      spids: [37881]
                                    )
                                    (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: [37925]
                                                )
                                              ]
                                              spids: [37925]
                                            )
                                          ]
                                          spids: [-1 37922]
                                        )
                                      ]
                                      spids: [-1 37929]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_libs)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [37933]
                                        )
                                      ]
                                      spids: [37933]
                                    )
                                    (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: [37955 37957 37990 -1]
                                                )
                                              ]
                                              spids: [37948 37952 37993]
                                            )
                                            (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: [38008]
                                                        )
                                                      ]
                                                      spids: [38008]
                                                    )
                                                  ]
                                                  spids: [-1 38005]
                                                )
                                              ]
                                              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: [38027]
                                                    )
                                                  ]
                                                  spids: [38027]
                                                )
                                              ]
                                              spids: [38016 38035]
                                            )
                                            (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: [38056 38063 38074 -1]
                                                        )
                                                      ]
                                                      spids: [38046 38053 38077]
                                                    )
                                                  ]
                                                  spids: [-1 38043]
                                                )
                                              ]
                                              spids: [-1 38080]
                                            )
                                            (C {(func_append)} {(tmp_libs)} 
                                              {(DQ (" ") ($ VSub_Name "$deplib"))}
                                            )
                                          ]
                                          spids: [37945 38093]
                                        )
                                      spids: [37941 37943]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [-1 37859]
                                )
                              ]
                              spids: [-1 38102]
                            )
                            (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: [38144]
                                                                )
                                                                (C {(test)} {(-z)} 
                                                                  {(DQ ($ VSub_Name "$old_library"))}
                                                                )
                                                              ]
                                                              op_id: Op_DPipe
                                                            )
                                                          terminator: <Op_Semi ";">
                                                        )
                                                      ]
                                                      spids: [38142]
                                                    )
                                                  ]
                                                  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: [38234 38240 38242 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (C {(func_append)} {(temp_rpath)} 
                                                              {(DQ ($ VSub_Name "$absdir") (":"))}
                                                            )
                                                          ]
                                                          spids: [38245 38246 38257 -1]
                                                        )
                                                      ]
                                                      spids: [38226 38231 38260]
                                                    )
                                                  ]
                                                  spids: [-1 38219]
                                                )
                                              ]
                                              spids: [-1 38263]
                                            )
                                            (Case
                                              to_match: 
                                                {
                                                  (DQ (" ") ($ VSub_Name "$sys_lib_dlsearch_path") 
                                                    (" ")
                                                  )
                                                }
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other "*") 
                                                      (DQ (" ") ($ VSub_Name "$absdir") (" ")) (Lit_Other "*")
                                                    }
                                                  ]
                                                  spids: [38290 38297 38299 -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: [38316 38323 38325 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (C {(func_append)} {(compile_rpath)} 
                                                              {(DQ (" ") ($ VSub_Name "$absdir"))}
                                                            )
                                                          ]
                                                          spids: [38328 38329 38340 -1]
                                                        )
                                                      ]
                                                      spids: [38306 38313 38343]
                                                    )
                                                  ]
                                                  spids: [38302 38303 38346 -1]
                                                )
                                              ]
                                              spids: [38279 38287 38349]
                                            )
                                            (Case
                                              to_match: 
                                                {
                                                  (DQ (" ") ($ VSub_Name "$sys_lib_dlsearch_path") 
                                                    (" ")
                                                  )
                                                }
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other "*") 
                                                      (DQ (" ") ($ VSub_Name "$libdir") (" ")) (Lit_Other "*")
                                                    }
                                                  ]
                                                  spids: [38363 38370 38372 -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: [38389 38396 38398 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (C {(func_append)} {(finalize_rpath)} 
                                                              {(DQ (" ") ($ VSub_Name "$libdir"))}
                                                            )
                                                          ]
                                                          spids: [38401 38402 38413 -1]
                                                        )
                                                      ]
                                                      spids: [38379 38386 38416]
                                                    )
                                                  ]
                                                  spids: [38375 38376 38419 -1]
                                                )
                                              ]
                                              spids: [38352 38360 38422]
                                            )
                                          ]
                                          spids: [-1 38191]
                                        )
                                      ]
                                      spids: [-1 38425]
                                    )
                                    (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: [38454]
                                                                )
                                                              ]
                                                              op_id: Op_DPipe
                                                            )
                                                          terminator: <Op_Semi ";">
                                                        )
                                                      ]
                                                      spids: [38439]
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                                          spids: [-1 38484]
                                        )
                                      ]
                                      spids: [-1 38494]
                                    )
                                  ]
                                  spids: [-1 38126]
                                )
                              ]
                              spids: [-1 38497]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:link_static)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [38501]
                                )
                              ]
                              spids: [38501]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:use_static_libs)
                                  op: Equal
                                  rhs: {($ VSub_Name "$prefer_static_libs")}
                                  spids: [38508]
                                )
                              ]
                              spids: [38508]
                            )
                            (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: [38540]
                                        )
                                      ]
                                      spids: [38540]
                                    )
                                  ]
                                  spids: [-1 38537]
                                )
                              ]
                              spids: [-1 38544]
                            )
                            (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: [38560]
                                            )
                                          ]
                                          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: [38634]
                                                )
                                              ]
                                              spids: [38634]
                                            )
                                          ]
                                          spids: [38596 38617 38638 -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: [38671]
                                                        )
                                                      ]
                                                      spids: [38671]
                                                    )
                                                  ]
                                                  spids: [-1 38658]
                                                )
                                              ]
                                              spids: [-1 38675]
                                            )
                                          ]
                                          spids: [38641 38642 38678 -1]
                                        )
                                      ]
                                      spids: [38589 38593 38681]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dlopenmodule)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [38697]
                                        )
                                      ]
                                      spids: [38697]
                                    )
                                    (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: [38732]
                                                        )
                                                      ]
                                                      spids: [38732]
                                                    )
                                                    (ControlFlow
                                                      token: <ControlFlow_Break break>
                                                    )
                                                  ]
                                                  spids: [-1 38729]
                                                )
                                              ]
                                              spids: [-1 38739]
                                            )
                                          ]
                                          spids: [38709 38742]
                                        )
                                      spids: [38705 38707]
                                    )
                                    (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 38799]
                                                )
                                              ]
                                              else_action: [
                                                (C {($ VSub_Name "$ECHO")} 
                                                  {
                                                    (DQ ("*** Warning: Linking the shared library ") 
                                                      ($ VSub_Name "$output") (" against the loadable module")
                                                    )
                                                  }
                                                )
                                              ]
                                              spids: [38811 38823]
                                            )
                                            (C {($ VSub_Name "$ECHO")} 
                                              {
                                                (DQ ("*** ") ($ VSub_Name "$linklib") 
                                                  (" is not portable!")
                                                )
                                              }
                                            )
                                          ]
                                          spids: [-1 38780]
                                        )
                                      ]
                                      spids: [-1 38835]
                                    )
                                    (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: [38890 38897 38899 -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: [38916 38923 38925 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (C {(func_append)} {(compile_rpath)} 
                                                              {(DQ (" ") ($ VSub_Name "$absdir"))}
                                                            )
                                                          ]
                                                          spids: [38928 38929 38940 -1]
                                                        )
                                                      ]
                                                      spids: [38906 38913 38943]
                                                    )
                                                  ]
                                                  spids: [38902 38903 38946 -1]
                                                )
                                              ]
                                              spids: [38879 38887 38949]
                                            )
                                            (Case
                                              to_match: 
                                                {
                                                  (DQ (" ") ($ VSub_Name "$sys_lib_dlsearch_path") 
                                                    (" ")
                                                  )
                                                }
                                              arms: [
                                                (case_arm
                                                  pat_list: [
                                                    {(Lit_Other "*") 
                                                      (DQ (" ") ($ VSub_Name "$libdir") (" ")) (Lit_Other "*")
                                                    }
                                                  ]
                                                  spids: [38963 38970 38972 -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: [38989 38996 38998 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (C {(func_append)} {(finalize_rpath)} 
                                                              {(DQ (" ") ($ VSub_Name "$libdir"))}
                                                            )
                                                          ]
                                                          spids: [39001 39002 39013 -1]
                                                        )
                                                      ]
                                                      spids: [38979 38986 39016]
                                                    )
                                                  ]
                                                  spids: [38975 38976 39019 -1]
                                                )
                                              ]
                                              spids: [38952 38960 39022]
                                            )
                                          ]
                                          spids: [-1 38864]
                                        )
                                      ]
                                      spids: [-1 39025]
                                    )
                                    (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: [39057]
                                                )
                                              ]
                                              spids: [39057]
                                            )
                                            (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: [39065 39076]
                                                      )
                                                    }
                                                  spids: [39064]
                                                )
                                              ]
                                              spids: [39064]
                                            )
                                            (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: [39097]
                                                        )
                                                      ]
                                                      spids: [39097]
                                                    )
                                                  ]
                                                  spids: [-1 39094]
                                                )
                                                (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: [39158]
                                                                )
                                                              ]
                                                              spids: [39158]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:versuffix)
                                                                  op: Equal
                                                                  rhs: {(-) ($ VSub_Name "$major")}
                                                                  spids: [39162]
                                                                )
                                                              ]
                                                              spids: [39162]
                                                            )
                                                          ]
                                                          spids: [39126 39146 39167 -1]
                                                        )
                                                      ]
                                                      spids: [39119 39123 39170]
                                                    )
                                                    (C {(eval)} 
                                                      {(Lit_VarLike "soname=") 
                                                        (EscapedLiteralPart
                                                          token: <Lit_EscapedChar "\\\"">
                                                        ) ($ VSub_Name "$soname_spec") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                                      }
                                                    )
                                                  ]
                                                  spids: [39101 39112]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:soname)
                                                      op: Equal
                                                      rhs: {($ VSub_Name "$realname")}
                                                      spids: [39184]
                                                    )
                                                  ]
                                                  spids: [39184]
                                                )
                                              ]
                                              spids: [39181 39188]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:soroot)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$soname")}
                                                  spids: [39196]
                                                )
                                              ]
                                              spids: [39196]
                                            )
                                            (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: [39207]
                                                )
                                              ]
                                              spids: [39207]
                                            )
                                            (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: [39226]
                                                )
                                              ]
                                              spids: [39226]
                                            )
                                            (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 39251]
                                                )
                                              ]
                                              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: [39256 39279]
                                            )
                                            (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 39300]
                                                )
                                              ]
                                              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: [39305 39328]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dir)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$output_objdir")}
                                                  spids: [39335]
                                                )
                                              ]
                                              spids: [39335]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:linklib)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$newlib")}
                                                  spids: [39339]
                                                )
                                              ]
                                              spids: [39339]
                                            )
                                          ]
                                          spids: [-1 39040]
                                        )
                                      ]
                                      spids: [-1 39343]
                                    )
                                    (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: [39379]
                                                )
                                              ]
                                              spids: [39379]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add_dir)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [39382]
                                                )
                                              ]
                                              spids: [39382]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [39385]
                                                )
                                              ]
                                              spids: [39385]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:lib_linked)
                                                  op: Equal
                                                  rhs: {(yes)}
                                                  spids: [39388]
                                                )
                                              ]
                                              spids: [39388]
                                            )
                                            (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: [39423]
                                                                )
                                                              ]
                                                              spids: [39423]
                                                            )
                                                            (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: [39446]
                                                                        )
                                                                      ]
                                                                      spids: [39446]
                                                                    )
                                                                  ]
                                                                  spids: [39436 39444 39450 -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: [39462]
                                                                        )
                                                                      ]
                                                                      spids: [39462]
                                                                    )
                                                                  ]
                                                                  spids: [39453 39460 39466 -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: [39501]
                                                                        )
                                                                      ]
                                                                      spids: [39501]
                                                                    )
                                                                  ]
                                                                  spids: [39469 39499 39505 -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: [
39533
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                    )
                                                                                    (SimpleCommand
                                                                                      words: [
                                                                                        {
                                                                                          ($ 
VSub_Name "$GREP"
                                                                                          )
                                                                                        }
                                                                                        {
                                                                                          (DQ 
                                                                                            (
": [^:]* bundle"
                                                                                            )
                                                                                          )
                                                                                        }
                                                                                      ]
                                                                                      redirects: [
                                                                                        (Redir
                                                                                          op_id: 
Redir_Great
                                                                                          fd: -1
                                                                                          arg_word: 
                                                                                            {
                                                                                              (
/dev/null
                                                                                              )
                                                                                            }
                                                                                          spids: [
39546
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  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
39594
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      else_action: [
                                                                                        (Assignment
                                                                                          keyword: 
Assign_None
                                                                                          pairs: [
                                                                                            (assign_pair
                                                                                              lhs: 
                                                                                                (LhsName
                                                                                                  name: 
add
                                                                                                )
                                                                                              op: 
                                                                                                Equal
                                                                                              rhs: 
                                                                                                {
                                                                                                  ($ 
VSub_Name "$dir"
                                                                                                  ) (/) ($ VSub_Name "$old_library")
                                                                                                }
                                                                                              spids: [
39617
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
39617
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
39614
39623
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  spids: [-1 39571]
                                                                                )
                                                                                (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: [
39640
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [39640]
                                                                                    )
                                                                                  ]
                                                                                  spids: [39626 39637]
                                                                                )
                                                                              ]
                                                                              spids: [-1 39646]
                                                                            )
                                                                          ]
                                                                          spids: [-1 39550]
                                                                        )
                                                                      ]
                                                                      spids: [-1 39649]
                                                                    )
                                                                  ]
                                                                  spids: [39508 39514 -1 39652]
                                                                )
                                                              ]
                                                              spids: [39429 39433 39652]
                                                            )
                                                          ]
                                                          spids: [-1 39420]
                                                        )
                                                        (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: [39685]
                                                                        )
                                                                      ]
                                                                      spids: [39685]
                                                                    )
                                                                  ]
                                                                  spids: [39678 39683 39688 -1]
                                                                )
                                                              ]
                                                              spids: [39671 39675 39691]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add_dir)
                                                                  op: Equal
                                                                  rhs: {(-L) ($ VSub_Name "$dir")}
                                                                  spids: [39694]
                                                                )
                                                              ]
                                                              spids: [39694]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: {(-l) ($ VSub_Name "$name")}
                                                                  spids: [39699]
                                                                )
                                                              ]
                                                              spids: [39699]
                                                            )
                                                          ]
                                                          spids: [39655 39668]
                                                        )
                                                        (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: [39720]
                                                                )
                                                              ]
                                                              spids: [39720]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: {(-l) ($ VSub_Name "$name")}
                                                                  spids: [39724]
                                                                )
                                                              ]
                                                              spids: [39724]
                                                            )
                                                          ]
                                                          spids: [39704 39717]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:lib_linked)
                                                              op: Equal
                                                              rhs: {(no)}
                                                              spids: [39732]
                                                            )
                                                          ]
                                                          spids: [39732]
                                                        )
                                                      ]
                                                      spids: [39729 39736]
                                                    )
                                                  ]
                                                  spids: [39399 39404 39739 -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: [39775]
                                                                )
                                                              ]
                                                              spids: [39775]
                                                            )
                                                          ]
                                                          spids: [-1 39772]
                                                        )
                                                        (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: [39797]
                                                                )
                                                              ]
                                                              spids: [39797]
                                                            )
                                                            (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: [39827 39832 39846 -1]
                                                                        )
                                                                      ]
                                                                      spids: [39820 39824 39849]
                                                                    )
                                                                  ]
                                                                  spids: [-1 39817]
                                                                )
                                                              ]
                                                              spids: [-1 39852]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: {(-l) ($ VSub_Name "$name")}
                                                                  spids: [39855]
                                                                )
                                                              ]
                                                              spids: [39855]
                                                            )
                                                          ]
                                                          spids: [39781 39794]
                                                        )
                                                        (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: [39876]
                                                                )
                                                              ]
                                                              spids: [39876]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:add)
                                                                  op: Equal
                                                                  rhs: {(-l) ($ VSub_Name "$name")}
                                                                  spids: [39880]
                                                                )
                                                              ]
                                                              spids: [39880]
                                                            )
                                                          ]
                                                          spids: [39860 39873]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:lib_linked)
                                                              op: Equal
                                                              rhs: {(no)}
                                                              spids: [39888]
                                                            )
                                                          ]
                                                          spids: [39888]
                                                        )
                                                      ]
                                                      spids: [39885 39892]
                                                    )
                                                  ]
                                                  spids: [39742 39743 39895 -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: [39901]
                                                        )
                                                      ]
                                                      spids: [39901]
                                                    )
                                                  ]
                                                  spids: [39898 39899 39904 -1]
                                                )
                                              ]
                                              spids: [39392 39396 39907]
                                            )
                                            (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 39925]
                                                )
                                              ]
                                              spids: [-1 39935]
                                            )
                                            (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: [39962 39969 39971 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (C {(func_append)} {(compile_shlibpath)} 
                                                              {
                                                                (DQ ($ VSub_Name "$add_shlibpath") 
                                                                  (":")
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [39974 39975 39986 -1]
                                                        )
                                                      ]
                                                      spids: [39953 39959 39989]
                                                    )
                                                  ]
                                                  spids: [-1 39950]
                                                )
                                              ]
                                              spids: [-1 39992]
                                            )
                                            (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: [40021]
                                                            )
                                                          ]
                                                          spids: [40021]
                                                        )
                                                      ]
                                                      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: [40039]
                                                            )
                                                          ]
                                                          spids: [40039]
                                                        )
                                                      ]
                                                      op_id: Op_DAmp
                                                    )
                                                  ]
                                                  spids: [-1 40008]
                                                )
                                              ]
                                              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: [40060]
                                                        )
                                                      ]
                                                      spids: [40060]
                                                    )
                                                  ]
                                                  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: [40078]
                                                        )
                                                      ]
                                                      spids: [40078]
                                                    )
                                                  ]
                                                  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: [40139 40146 40148 -1]
                                                            )
                                                            (case_arm
                                                              pat_list: [{(Lit_Other "*")}]
                                                              action: [
                                                                (C {(func_append)} 
                                                                  {(finalize_shlibpath)} {(DQ ($ VSub_Name "$libdir") (":"))}
                                                                )
                                                              ]
                                                              spids: [40151 40152 40163 -1]
                                                            )
                                                          ]
                                                          spids: [40130 40136 40166]
                                                        )
                                                      ]
                                                      spids: [-1 40127]
                                                    )
                                                  ]
                                                  spids: [-1 40169]
                                                )
                                              ]
                                              spids: [40047 40172]
                                            )
                                          ]
                                          spids: [-1 39376]
                                        )
                                      ]
                                      spids: [-1 40175]
                                    )
                                    (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: [40207]
                                                )
                                              ]
                                              spids: [40207]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add_dir)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [40210]
                                                )
                                              ]
                                              spids: [40210]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:add)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [40213]
                                                )
                                              ]
                                              spids: [40213]
                                            )
                                            (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: [40249]
                                                        )
                                                      ]
                                                      spids: [40249]
                                                    )
                                                  ]
                                                  spids: [-1 40246]
                                                )
                                                (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: [40271]
                                                        )
                                                      ]
                                                      spids: [40271]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:add)
                                                          op: Equal
                                                          rhs: {(-l) ($ VSub_Name "$name")}
                                                          spids: [40276]
                                                        )
                                                      ]
                                                      spids: [40276]
                                                    )
                                                  ]
                                                  spids: [40255 40268]
                                                )
                                                (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: [40306 40313 40315 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (C {(func_append)} {(finalize_shlibpath)} 
                                                              {(DQ ($ VSub_Name "$libdir") (":"))}
                                                            )
                                                          ]
                                                          spids: [40318 40319 40330 -1]
                                                        )
                                                      ]
                                                      spids: [40297 40303 40333]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:add)
                                                          op: Equal
                                                          rhs: {(-l) ($ VSub_Name "$name")}
                                                          spids: [40336]
                                                        )
                                                      ]
                                                      spids: [40336]
                                                    )
                                                  ]
                                                  spids: [40281 40294]
                                                )
                                                (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: [40385]
                                                                )
                                                              ]
                                                              spids: [40385]
                                                            )
                                                          ]
                                                          spids: [-1 40382]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:add)
                                                              op: Equal
                                                              rhs: 
                                                                {($ VSub_Name "$libdir") (/) 
                                                                  ($ VSub_Name "$linklib")
                                                                }
                                                              spids: [40395]
                                                            )
                                                          ]
                                                          spids: [40395]
                                                        )
                                                      ]
                                                      spids: [40392 40401]
                                                    )
                                                  ]
                                                  spids: [40341 40354]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:add_dir)
                                                      op: Equal
                                                      rhs: {(-L) ($ VSub_Name "$libdir")}
                                                      spids: [40411]
                                                    )
                                                  ]
                                                  spids: [40411]
                                                )
                                                (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: [40441 40446 40460 -1]
                                                            )
                                                          ]
                                                          spids: [40434 40438 40463]
                                                        )
                                                      ]
                                                      spids: [-1 40431]
                                                    )
                                                  ]
                                                  spids: [-1 40466]
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:add)
                                                      op: Equal
                                                      rhs: {(-l) ($ VSub_Name "$name")}
                                                      spids: [40469]
                                                    )
                                                  ]
                                                  spids: [40469]
                                                )
                                              ]
                                              spids: [40404 40474]
                                            )
                                            (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: [40504]
                                                            )
                                                          ]
                                                          spids: [40504]
                                                        )
                                                      ]
                                                      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: [40522]
                                                            )
                                                          ]
                                                          spids: [40522]
                                                        )
                                                      ]
                                                      op_id: Op_DAmp
                                                    )
                                                  ]
                                                  spids: [-1 40491]
                                                )
                                              ]
                                              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: [40543]
                                                        )
                                                      ]
                                                      spids: [40543]
                                                    )
                                                  ]
                                                  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: [40561]
                                                        )
                                                      ]
                                                      spids: [40561]
                                                    )
                                                  ]
                                                  op_id: Op_DAmp
                                                )
                                              ]
                                              spids: [40530 40569]
                                            )
                                          ]
                                          spids: [-1 40204]
                                        )
                                      ]
                                      spids: [-1 40572]
                                    )
                                  ]
                                  spids: [-1 38586]
                                )
                                (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: [40630]
                                                    )
                                                  ]
                                                  spids: [40630]
                                                )
                                              ]
                                              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: [40634]
                                                )
                                              ]
                                              spids: [40634]
                                            )
                                            (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: [40644]
                                                )
                                              ]
                                              spids: [40644]
                                            )
                                          ]
                                          spids: [-1 40617]
                                        )
                                      ]
                                      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: [40657]
                                            )
                                          ]
                                          spids: [40657]
                                        )
                                        (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: [40668]
                                            )
                                          ]
                                          spids: [40668]
                                        )
                                      ]
                                      spids: [40654 40679]
                                    )
                                  ]
                                  spids: [40575 40588]
                                )
                                (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 40817]
                                                        )
                                                      ]
                                                      spids: [-1 40851]
                                                    )
                                                    (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: [40870]
                                                                )
                                                              ]
                                                              spids: [40870]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:build_old_libs)
                                                                  op: Equal
                                                                  rhs: {(yes)}
                                                                  spids: [40874]
                                                                )
                                                              ]
                                                              spids: [40874]
                                                            )
                                                          ]
                                                          spids: [-1 40867]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:build_libtool_libs)
                                                              op: Equal
                                                              rhs: {(no)}
                                                              spids: [40881]
                                                            )
                                                          ]
                                                          spids: [40881]
                                                        )
                                                      ]
                                                      spids: [40878 40885]
                                                    )
                                                  ]
                                                  spids: [-1 40782]
                                                )
                                              ]
                                              spids: [-1 40888]
                                            )
                                          ]
                                          spids: [-1 40716]
                                        )
                                      ]
                                      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: [40894]
                                            )
                                          ]
                                          spids: [40894]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:link_static)
                                              op: Equal
                                              rhs: {(yes)}
                                              spids: [40904]
                                            )
                                          ]
                                          spids: [40904]
                                        )
                                      ]
                                      spids: [40891 40908]
                                    )
                                  ]
                                  spids: [40682 40695]
                                )
                              ]
                              spids: [-1 40911]
                            )
                            (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: [40947]
                                                    )
                                                  ]
                                                  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: [40997]
                                                )
                                              ]
                                              spids: [40997]
                                            )
                                            (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: [41037]
                                                                )
                                                              ]
                                                              spids: [41037]
                                                            )
                                                            (Case
                                                              to_match: 
                                                                {
                                                                  (DQ (" ") ($ VSub_Name "$xrpath") 
                                                                    (" ")
                                                                  )
                                                                }
                                                              arms: [
                                                                (case_arm
                                                                  pat_list: [
                                                                    {(Lit_Other "*") 
                                                                      (DQ (" ") 
                                                                        ($ VSub_Name "$temp_xrpath") (" ")
                                                                      ) (Lit_Other "*")
                                                                    }
                                                                  ]
                                                                  spids: [41052 41059 41061 -1]
                                                                )
                                                                (case_arm
                                                                  pat_list: [{(Lit_Other "*")}]
                                                                  action: [
                                                                    (C {(func_append)} {(xrpath)} 
                                                                      {
                                                                        (DQ (" ") 
                                                                          ($ VSub_Name "$temp_xrpath")
                                                                        )
                                                                      }
                                                                    )
                                                                  ]
                                                                  spids: [41064 41065 41075 -1]
                                                                )
                                                              ]
                                                              spids: [41041 41049 41078]
                                                            )
                                                          ]
                                                          spids: [41019 41021 41079 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (C {(func_append)} {(temp_deplibs)} 
                                                              {(DQ (" ") ($ VSub_Name "$libdir"))}
                                                            )
                                                          ]
                                                          spids: [41082 41083 41093 -1]
                                                        )
                                                      ]
                                                      spids: [41012 41016 41096]
                                                    )
                                                  ]
                                                  spids: [41009 41099]
                                                )
                                              spids: [41005 41007]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dependency_libs)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$temp_deplibs")}
                                                  spids: [41102]
                                                )
                                              ]
                                              spids: [41102]
                                            )
                                          ]
                                          spids: [-1 40990]
                                        )
                                      ]
                                      spids: [-1 41106]
                                    )
                                    (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: [41136]
                                            )
                                          ]
                                          spids: [41136]
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_libs)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [41150]
                                        )
                                      ]
                                      spids: [41150]
                                    )
                                    (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: [41165]
                                                )
                                              ]
                                              spids: [41165]
                                            )
                                            (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: [41180 41182 41203 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (C {(func_resolve_sysroot)} 
                                                      {(DQ ($ VSub_Name "$deplib"))}
                                                    )
                                                  ]
                                                  spids: [41206 41207 41215 -1]
                                                )
                                              ]
                                              spids: [41173 41177 41218]
                                            )
                                            (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: [41239 41246 41258 -1]
                                                        )
                                                      ]
                                                      spids: [41229 41236 41261]
                                                    )
                                                  ]
                                                  spids: [-1 41226]
                                                )
                                              ]
                                              spids: [-1 41264]
                                            )
                                            (C {(func_append)} {(tmp_libs)} 
                                              {
                                                (DQ (" ") ($ VSub_Name "$func_resolve_sysroot_result"))
                                              }
                                            )
                                          ]
                                          spids: [41162 41277]
                                        )
                                      spids: [41158 41160]
                                    )
                                    (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: [41314]
                                                        )
                                                      ]
                                                      spids: [41314]
                                                    )
                                                    (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: [41328]
                                                                )
                                                              ]
                                                              spids: [41328]
                                                            )
                                                          ]
                                                          spids: [41324 41326 41331 -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: [41346]
                                                                )
                                                              ]
                                                              spids: [41346]
                                                            )
                                                            (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: [41364]
                                                                )
                                                              ]
                                                              spids: [41364]
                                                            )
                                                            (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: [41398]
                                                                        )
                                                                      ]
                                                                      spids: [41398]
                                                                    )
                                                                  ]
                                                                  spids: [41379 41396 41401 -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: [41409 41419]
                                                                              )
                                                                            }
                                                                          spids: [41408]
                                                                        )
                                                                      ]
                                                                      spids: [41408]
                                                                    )
                                                                    (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: [41445]
                                                                                )
                                                                              ]
                                                                              spids: [41445]
                                                                            )
                                                                          ]
                                                                          spids: [-1 41433]
                                                                        )
                                                                      ]
                                                                      spids: [-1 41449]
                                                                    )
                                                                  ]
                                                                  spids: [41404 41405 41452 -1]
                                                                )
                                                              ]
                                                              spids: [41372 41376 41455]
                                                            )
                                                            (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: [41468]
                                                                            )
                                                                          ]
                                                                        )
                                                                      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: [41491]
                                                                                )
                                                                              ]
                                                                              spids: [41491]
                                                                            )
                                                                            (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: [41497 41509]
                                                                                )
                                                                              }
                                                                            )
                                                                            (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: [
41538
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
41538
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
41535
41542
                                                                                          ]
                                                                                        )
                                                                                      spids: [
41531
41533
                                                                                      ]
                                                                                    )
                                                                                    (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: [
41563
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
41563
                                                                                              ]
                                                                                            )
                                                                                            (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: [
41572
41586
                                                                                                        ]
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
41571
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
41571
                                                                                              ]
                                                                                            )
                                                                                            (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: [
41604
41618
                                                                                                                ]
                                                                                                              )
                                                                                                            }
                                                                                                          spids: [
41603
                                                                                                          ]
                                                                                                        )
                                                                                                      ]
                                                                                                      spids: [
41603
                                                                                                      ]
                                                                                                    )
                                                                                                  ]
                                                                                                  spids: [
-1
41600
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
-1
41621
                                                                                              ]
                                                                                            )
                                                                                            (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: [
41651
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
41651
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
-1
41560
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
-1
41654
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  spids: [-1 41523]
                                                                                )
                                                                              ]
                                                                              spids: [-1 41657]
                                                                            )
                                                                          ]
                                                                          spids: [41483 41488 41660 -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: [41667]
                                                                                )
                                                                              ]
                                                                              spids: [41667]
                                                                            )
                                                                          ]
                                                                          spids: [41663 41664 41674 -1]
                                                                        )
                                                                      ]
                                                                      spids: [41476 41480 41677]
                                                                    )
                                                                  ]
                                                                  spids: [-1 41473]
                                                                )
                                                              ]
                                                              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: [41686 41698]
                                                                    )
                                                                  }
                                                                )
                                                                (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: [41749]
                                                                    )
                                                                  ]
                                                                  spids: [41749]
                                                                )
                                                              ]
                                                              spids: [41680 41754]
                                                            )
                                                          ]
                                                          spids: [41334 41336 41757 -1]
                                                        )
                                                      ]
                                                      spids: [41317 41321 41760]
                                                    )
                                                    (Case
                                                      to_match: 
                                                        {(DQ (" ") ($ VSub_Name "$deplibs") (" "))}
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [
                                                            {(Lit_Other "*") 
                                                              (DQ (" ") ($ VSub_Name "$path") (" ")) (Lit_Other "*")
                                                            }
                                                          ]
                                                          spids: [41774 41781 41783 -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: [41789]
                                                                )
                                                              ]
                                                              spids: [41789]
                                                            )
                                                          ]
                                                          spids: [41786 41787 41796 -1]
                                                        )
                                                      ]
                                                      spids: [41763 41771 41799]
                                                    )
                                                  ]
                                                  spids: [41311 41802]
                                                )
                                              spids: [41307 41309]
                                            )
                                          ]
                                          spids: [-1 41295]
                                        )
                                      ]
                                      spids: [-1 41805]
                                    )
                                  ]
                                  spids: [-1 40931]
                                )
                              ]
                              spids: [-1 41811]
                            )
                          ]
                          spids: [34477 41817]
                        )
                      spids: [34473 34475]
                    )
                    (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: [41855]
                                        )
                                      ]
                                      spids: [41855]
                                    )
                                    (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: [41863]
                                        )
                                      ]
                                      spids: [41863]
                                    )
                                  ]
                                  spids: [-1 41852]
                                )
                              ]
                              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: [41879 41894]
                                          )
                                        }
                                      spids: [41874]
                                    )
                                  ]
                                  spids: [41874]
                                )
                              ]
                              spids: [41871 41897]
                            )
                          ]
                          spids: [-1 41836]
                        )
                      ]
                      spids: [-1 41900]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dependency_libs)
                          op: Equal
                          rhs: {($ VSub_Name "$newdependency_libs")}
                          spids: [41903]
                        )
                      ]
                      spids: [41903]
                    )
                    (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: [41939]
                                        )
                                      ]
                                      spids: [41939]
                                    )
                                  ]
                                  spids: [41936 41947]
                                )
                              spids: [41932 41934]
                            )
                          ]
                          spids: [-1 41920]
                        )
                      ]
                      spids: [-1 41950]
                    )
                    (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: [41989]
                                        )
                                      ]
                                      spids: [41989]
                                    )
                                    (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: [42014 42021 42023 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (C {(func_append)} {(lib_search_path)} 
                                                      {(DQ (" ") ($ VSub_Name "$dir"))}
                                                    )
                                                  ]
                                                  spids: [42026 42027 42038 -1]
                                                )
                                              ]
                                              spids: [42004 42011 42041]
                                            )
                                          ]
                                          spids: [42001 42044]
                                        )
                                      spids: [41997 41999]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:newlib_search_path)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [42047]
                                        )
                                      ]
                                      spids: [42047]
                                    )
                                  ]
                                  spids: [41982]
                                )
                              ]
                              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: [42074]
                                        )
                                      ]
                                      spids: [42074]
                                    )
                                  ]
                                  spids: [-1 42071]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:vars)
                                      op: Equal
                                      rhs: {(deplibs)}
                                      spids: [42083]
                                    )
                                  ]
                                  spids: [42083]
                                )
                              ]
                              spids: [42080 42087]
                            )
                            (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: [42117]
                                        )
                                      ]
                                      spids: [42117]
                                    )
                                    (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: [42167]
                                                        )
                                                      ]
                                                      spids: [42167]
                                                    )
                                                  ]
                                                  spids: [42163 42165 42174 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(-R) (Lit_Other "*")}]
                                                  spids: [42177 42179 42181 -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: [42264]
                                                                )
                                                              ]
                                                              spids: [42264]
                                                            )
                                                          ]
                                                          spids: [42255 42262 42271 -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: [42289 42296 42298 -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: [42304]
                                                                        )
                                                                      ]
                                                                      spids: [42304]
                                                                    )
                                                                  ]
                                                                  spids: [42301 42302 42311 -1]
                                                                )
                                                              ]
                                                              spids: [42278 42286 42314]
                                                            )
                                                          ]
                                                          spids: [42274 42275 42317 -1]
                                                        )
                                                      ]
                                                      spids: [42244 42252 42320]
                                                    )
                                                  ]
                                                  spids: [42184 42185 42323 -1]
                                                )
                                              ]
                                              spids: [42156 42160 42326]
                                            )
                                          ]
                                          spids: [42129 42329]
                                        )
                                      spids: [42125 42127]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tmp_libs)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [42332]
                                        )
                                      ]
                                      spids: [42332]
                                    )
                                    (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: [42370 42377 42379 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (C {(func_append)} {(tmp_libs)} 
                                                              {(DQ (" ") ($ VSub_Name "$deplib"))}
                                                            )
                                                          ]
                                                          spids: [42382 42383 42394 -1]
                                                        )
                                                      ]
                                                      spids: [42359 42367 42397]
                                                    )
                                                  ]
                                                  spids: [42354 42356 42400 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (C {(func_append)} {(tmp_libs)} 
                                                      {(DQ (" ") ($ VSub_Name "$deplib"))}
                                                    )
                                                  ]
                                                  spids: [42403 42404 42415 -1]
                                                )
                                              ]
                                              spids: [42347 42351 42418]
                                            )
                                          ]
                                          spids: [42344 42421]
                                        )
                                      spids: [42340 42342]
                                    )
                                    (C {(eval)} 
                                      {($ VSub_Name "$var") (Lit_Other "=") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) ($ VSub_Name "$tmp_libs") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                      }
                                    )
                                  ]
                                  spids: [42101 42433]
                                )
                              spids: [42095 42099]
                            )
                          ]
                          spids: [-1 41967]
                        )
                      ]
                      spids: [-1 42439]
                    )
                    (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: [42481]
                                                          )
                                                        ]
                                                      )
                                                      (C {(sed)} {(5q)})
                                                    ]
                                                    negated: False
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick "`">
                                            spids: [42476 42489]
                                          )
                                        }
                                      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 42523]
                                                )
                                              ]
                                              spids: [-1 42535]
                                            )
                                          ]
                                          spids: [42494 42499 42538 -1]
                                        )
                                      ]
                                      spids: [42474 42491 42541]
                                    )
                                  ]
                                  spids: [42469 42471 42544 -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 42595]
                                                )
                                              ]
                                              spids: [-1 42607]
                                            )
                                          ]
                                          spids: [42567 42574 42610 -1]
                                        )
                                      ]
                                      spids: [42560 42564 42613]
                                    )
                                  ]
                                  spids: [42548 42550 42616 -1]
                                )
                              ]
                              spids: [42462 42466 42619]
                            )
                          ]
                          spids: [42459]
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:tmp_libs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [42634]
                        )
                      ]
                      spids: [42634]
                    )
                    (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: [42674]
                                        )
                                      ]
                                      spids: [42674]
                                    )
                                  ]
                                  spids: [42664 42671 42677 -1]
                                )
                              ]
                              spids: [42649 42661 42680]
                            )
                            (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 42694]
                                )
                              ]
                              spids: [-1 42707]
                            )
                          ]
                          spids: [42646 42710]
                        )
                      spids: [42642 42644]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dependency_libs)
                          op: Equal
                          rhs: {($ VSub_Name "$tmp_libs")}
                          spids: [42713]
                        )
                      ]
                      spids: [42713]
                    )
                  ]
                  spids: [34075 42717]
                )
              spids: [34071 34073]
            )
            (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: [42739]
                        )
                      ]
                      spids: [42739]
                    )
                  ]
                  spids: [-1 42736]
                )
              ]
              spids: [-1 42743]
            )
            (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: [42774]
                        )
                      ]
                      spids: [42774]
                    )
                  ]
                  spids: [-1 42771]
                )
              ]
              spids: [-1 42778]
            )
            (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 42818]
                        )
                      ]
                      spids: [-1 42828]
                    )
                    (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: [42842 42853 42862 -1]
                        )
                      ]
                      spids: [42832 42839 42865]
                    )
                    (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: [42974]
                        )
                      ]
                      spids: [42974]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:oldlibs)
                          op: Equal
                          rhs: {($ VSub_Name "$output")}
                          spids: [42978]
                        )
                      ]
                      spids: [42978]
                    )
                    (C {(func_append)} {(objs)} {(DQ ($ VSub_Name "$old_deplibs"))})
                  ]
                  spids: [42789 42790 42991 -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: [43030]
                                )
                              ]
                              spids: [43030]
                            )
                            (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: [43010 43012 43050 -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: [43116]
                                        )
                                      ]
                                      spids: [43116]
                                    )
                                    (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 43095]
                                )
                              ]
                              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: [43153]
                                    )
                                  ]
                                  spids: [43153]
                                )
                              ]
                              spids: [43136 43157]
                            )
                          ]
                          spids: [43053 43054 43160 -1]
                        )
                      ]
                      spids: [43003 43007 43163]
                    )
                    (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 43195]
                                )
                              ]
                              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: [43208 43242]
                            )
                          ]
                          spids: [-1 43178]
                        )
                      ]
                      spids: [-1 43245]
                    )
                    (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: [43303]
                        )
                      ]
                      spids: [43303]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:oldlibs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [43308]
                        )
                      ]
                      spids: [43308]
                    )
                    (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: [43357]
                                        )
                                      ]
                                      spids: [43357]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:build_libtool_libs)
                                          op: Equal
                                          rhs: {(convenience)}
                                          spids: [43369]
                                        )
                                      ]
                                      spids: [43369]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:build_old_libs)
                                          op: Equal
                                          rhs: {(yes)}
                                          spids: [43373]
                                        )
                                      ]
                                      spids: [43373]
                                    )
                                  ]
                                  spids: [-1 43338]
                                )
                              ]
                              spids: [-1 43377]
                            )
                            (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 43322]
                        )
                      ]
                      else_action: [
                        (Sentence
                          child: 
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:save_ifs)
                                  op: Equal
                                  rhs: {($ VSub_Name "$IFS")}
                                  spids: [43428]
                                )
                              ]
                              spids: [43428]
                            )
                          terminator: <Op_Semi ";">
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:IFS)
                              op: Equal
                              rhs: {(Lit_Other ":")}
                              spids: [43432]
                            )
                          ]
                          spids: [43432]
                        )
                        (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: [43452]
                            )
                          ]
                          spids: [43452]
                        )
                        (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: [43501]
                                    )
                                  ]
                                  spids: [43501]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:number_minor)
                                      op: Equal
                                      rhs: {($ VSub_Number "$2")}
                                      spids: [43505]
                                    )
                                  ]
                                  spids: [43505]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:number_revision)
                                      op: Equal
                                      rhs: {($ VSub_Number "$3")}
                                      spids: [43509]
                                    )
                                  ]
                                  spids: [43509]
                                )
                                (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: [43575]
                                            )
                                          ]
                                          spids: [43575]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:age)
                                              op: Equal
                                              rhs: {($ VSub_Name "$number_minor")}
                                              spids: [43579]
                                            )
                                          ]
                                          spids: [43579]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:revision)
                                              op: Equal
                                              rhs: {($ VSub_Name "$number_revision")}
                                              spids: [43583]
                                            )
                                          ]
                                          spids: [43583]
                                        )
                                      ]
                                      spids: [43552 43563 43587 -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: [43598]
                                            )
                                          ]
                                          spids: [43598]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:revision)
                                              op: Equal
                                              rhs: {($ VSub_Name "$number_minor")}
                                              spids: [43602]
                                            )
                                          ]
                                          spids: [43602]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:age)
                                              op: Equal
                                              rhs: {(0)}
                                              spids: [43606]
                                            )
                                          ]
                                          spids: [43606]
                                        )
                                      ]
                                      spids: [43590 43595 43610 -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: [43628]
                                            )
                                          ]
                                          spids: [43628]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:age)
                                              op: Equal
                                              rhs: {($ VSub_Name "$number_minor")}
                                              spids: [43632]
                                            )
                                          ]
                                          spids: [43632]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:revision)
                                              op: Equal
                                              rhs: {($ VSub_Name "$number_minor")}
                                              spids: [43636]
                                            )
                                          ]
                                          spids: [43636]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:lt_irix_increment)
                                              op: Equal
                                              rhs: {(no)}
                                              spids: [43640]
                                            )
                                          ]
                                          spids: [43640]
                                        )
                                      ]
                                      spids: [43613 43616 43644 -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: [43647 43648 43661 -1]
                                    )
                                  ]
                                  spids: [43541 43545 43664]
                                )
                              ]
                              spids: [43497 43498 43667 -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: [43674]
                                    )
                                  ]
                                  spids: [43674]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:revision)
                                      op: Equal
                                      rhs: {($ VSub_Number "$2")}
                                      spids: [43678]
                                    )
                                  ]
                                  spids: [43678]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:age)
                                      op: Equal
                                      rhs: {($ VSub_Number "$3")}
                                      spids: [43682]
                                    )
                                  ]
                                  spids: [43682]
                                )
                              ]
                              spids: [43670 43671 43686 -1]
                            )
                          ]
                          spids: [43490 43494 43689]
                        )
                        (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: [43704 43755 43757 -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: [43760 43761 43782 -1]
                            )
                          ]
                          spids: [43697 43701 43785]
                        )
                        (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: [43796 43847 43849 -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: [43852 43853 43874 -1]
                            )
                          ]
                          spids: [43789 43793 43877]
                        )
                        (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: [43888 43939 43941 -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: [43944 43945 43966 -1]
                            )
                          ]
                          spids: [43881 43885 43969]
                        )
                        (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 43988]
                            )
                          ]
                          spids: [-1 44011]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:major)
                              op: Equal
                              rhs: {(SQ )}
                              spids: [44019]
                            )
                          ]
                          spids: [44019]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:versuffix)
                              op: Equal
                              rhs: {(SQ )}
                              spids: [44022]
                            )
                          ]
                          spids: [44022]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:verstring)
                              op: Equal
                              rhs: {(SQ )}
                              spids: [44025]
                            )
                          ]
                          spids: [44025]
                        )
                        (Case
                          to_match: {($ VSub_Name "$version_type")}
                          arms: [
                            (case_arm
                              pat_list: [{(none)}]
                              spids: [44035 44036 44038 -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: [44063]
                                    )
                                  ]
                                  spids: [44063]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: 
                                        {($ VSub_Name "$major") (.) ($ VSub_Name "$age") (.) 
                                          ($ VSub_Name "$revision")
                                        }
                                      spids: [44068]
                                    )
                                  ]
                                  spids: [44068]
                                )
                                (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: [44089]
                                    )
                                  ]
                                  spids: [44089]
                                )
                                (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: [44093]
                                    )
                                  ]
                                  spids: [44093]
                                )
                                (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: [44109]
                                    )
                                  ]
                                  spids: [44109]
                                )
                                (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: [44136]
                                            )
                                          ]
                                          spids: [44136]
                                        )
                                      ]
                                      spids: [44131 44133 44152 -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: [44159]
                                            )
                                          ]
                                          spids: [44159]
                                        )
                                      ]
                                      spids: [44155 44156 44170 -1]
                                    )
                                  ]
                                  spids: [44124 44128 44173]
                                )
                              ]
                              spids: [44042 44043 44176 -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: [44184]
                                    )
                                  ]
                                  spids: [44184]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: 
                                        {(.) ($ VSub_Name "$current") (.) ($ VSub_Name "$revision")}
                                      spids: [44189]
                                    )
                                  ]
                                  spids: [44189]
                                )
                              ]
                              spids: [44180 44181 44196 -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: [44213]
                                    )
                                  ]
                                  spids: [44213]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: 
                                        {($ VSub_Name "$major") (.) ($ VSub_Name "$age") (.) 
                                          ($ VSub_Name "$revision")
                                        }
                                      spids: [44218]
                                    )
                                  ]
                                  spids: [44218]
                                )
                              ]
                              spids: [44200 44201 44226 -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 44251]
                                    )
                                  ]
                                  else_action: [
                                    (C {(func_arith)} {($ VSub_Name "$current")} {(-)} 
                                      {($ VSub_Name "$age")} {(Lit_Other "+")} {(1)}
                                    )
                                  ]
                                  spids: [44263 44279]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {($ VSub_Name "$func_arith_result")}
                                      spids: [44282]
                                    )
                                  ]
                                  spids: [44282]
                                )
                                (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: [44297]
                                            )
                                          ]
                                          spids: [44297]
                                        )
                                      ]
                                      spids: [44294 44295 44300 -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: [44306]
                                            )
                                          ]
                                          spids: [44306]
                                        )
                                      ]
                                      spids: [44303 44304 44309 -1]
                                    )
                                  ]
                                  spids: [44287 44291 44312]
                                )
                                (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: [44315]
                                    )
                                  ]
                                  spids: [44315]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:loop)
                                      op: Equal
                                      rhs: {($ VSub_Name "$revision")}
                                      spids: [44327]
                                    )
                                  ]
                                  spids: [44327]
                                )
                                (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: [44356]
                                            )
                                          ]
                                          spids: [44356]
                                        )
                                        (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: [44369]
                                            )
                                          ]
                                          spids: [44369]
                                        )
                                        (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: [44373]
                                            )
                                          ]
                                          spids: [44373]
                                        )
                                      ]
                                      spids: [44344 44382]
                                    )
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:major)
                                      op: Equal
                                      rhs: {(.) ($ VSub_Name "$major")}
                                      spids: [44390]
                                    )
                                  ]
                                  spids: [44390]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {($ VSub_Name "$major") (.) ($ VSub_Name "$revision")}
                                      spids: [44395]
                                    )
                                  ]
                                  spids: [44395]
                                )
                              ]
                              spids: [44230 44235 44401 -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: [44421]
                                    )
                                  ]
                                  spids: [44421]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: 
                                        {($ VSub_Name "$major") (.) ($ VSub_Name "$age") (.) 
                                          ($ VSub_Name "$revision")
                                        }
                                      spids: [44426]
                                    )
                                  ]
                                  spids: [44426]
                                )
                              ]
                              spids: [44405 44406 44434 -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: [44451]
                                    )
                                  ]
                                  spids: [44451]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: 
                                        {(.) ($ VSub_Name "$current") (.) ($ VSub_Name "$age") (.) 
                                          ($ VSub_Name "$revision")
                                        }
                                      spids: [44456]
                                    )
                                  ]
                                  spids: [44456]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:verstring)
                                      op: Equal
                                      rhs: 
                                        {($ VSub_Name "$current") (.) ($ VSub_Name "$age") (.) 
                                          ($ VSub_Name "$revision")
                                        }
                                      spids: [44465]
                                    )
                                  ]
                                  spids: [44465]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:loop)
                                      op: Equal
                                      rhs: {($ VSub_Name "$age")}
                                      spids: [44478]
                                    )
                                  ]
                                  spids: [44478]
                                )
                                (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: [44507]
                                            )
                                          ]
                                          spids: [44507]
                                        )
                                        (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: [44520]
                                            )
                                          ]
                                          spids: [44520]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:verstring)
                                              op: Equal
                                              rhs: 
                                                {($ VSub_Name "$verstring") (Lit_Other ":") 
                                                  ($ VSub_Name "$iface") (.0)
                                                }
                                              spids: [44524]
                                            )
                                          ]
                                          spids: [44524]
                                        )
                                      ]
                                      spids: [44495 44531]
                                    )
                                )
                                (C {(func_append)} {(verstring)} 
                                  {(DQ (":") ($ VSub_Name "$current") (.0))}
                                )
                              ]
                              spids: [44438 44439 44550 -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: [44558]
                                    )
                                  ]
                                  spids: [44558]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {(.) ($ VSub_Name "$current")}
                                      spids: [44563]
                                    )
                                  ]
                                  spids: [44563]
                                )
                              ]
                              spids: [44554 44555 44568 -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: [44576]
                                    )
                                  ]
                                  spids: [44576]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {(.) ($ VSub_Name "$current")}
                                      spids: [44581]
                                    )
                                  ]
                                  spids: [44581]
                                )
                              ]
                              spids: [44572 44573 44586 -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: [44594]
                                    )
                                  ]
                                  spids: [44594]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: 
                                        {(.) ($ VSub_Name "$current") (.) ($ VSub_Name "$revision")}
                                      spids: [44599]
                                    )
                                  ]
                                  spids: [44599]
                                )
                              ]
                              spids: [44590 44591 44606 -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: [44631]
                                    )
                                  ]
                                  spids: [44631]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {(-) ($ VSub_Name "$major")}
                                      spids: [44635]
                                    )
                                  ]
                                  spids: [44635]
                                )
                              ]
                              spids: [44610 44611 44640 -1]
                            )
                            (case_arm
                              pat_list: [{(Lit_Other "*")}]
                              action: [
                                (C {(func_fatal_configuration)} 
                                  {
                                    (DQ ("unknown library version type '") 
                                      ($ VSub_Name "$version_type") ("'")
                                    )
                                  }
                                )
                              ]
                              spids: [44644 44645 44657 -1]
                            )
                          ]
                          spids: [44028 44032 44660]
                        )
                        (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: [44692]
                                    )
                                  ]
                                  spids: [44692]
                                )
                                (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: [44714]
                                            )
                                          ]
                                          spids: [44714]
                                        )
                                      ]
                                      spids: [44702 44703 44717 -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: [44724]
                                            )
                                          ]
                                          spids: [44724]
                                        )
                                      ]
                                      spids: [44720 44721 44728 -1]
                                    )
                                  ]
                                  spids: [44695 44699 44731]
                                )
                                (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: [44750]
                                            )
                                          ]
                                          spids: [44750]
                                        )
                                      ]
                                      spids: [-1 44747]
                                    )
                                  ]
                                  else_action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:versuffix)
                                          op: Equal
                                          rhs: {(.0.0)}
                                          spids: [44756]
                                        )
                                      ]
                                      spids: [44756]
                                    )
                                  ]
                                  spids: [44753 44760]
                                )
                              ]
                              spids: [-1 44689]
                            )
                          ]
                          spids: [-1 44763]
                        )
                        (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: [44791]
                                    )
                                  ]
                                  spids: [44791]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:versuffix)
                                      op: Equal
                                      rhs: {(SQ )}
                                      spids: [44794]
                                    )
                                  ]
                                  spids: [44794]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:verstring)
                                      op: Equal
                                      rhs: {(SQ )}
                                      spids: [44797]
                                    )
                                  ]
                                  spids: [44797]
                                )
                              ]
                              spids: [-1 44788]
                            )
                          ]
                          spids: [-1 44800]
                        )
                        (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: [44865]
                                                    )
                                                  ]
                                                  spids: [44865]
                                                )
                                              ]
                                              spids: [-1 44853]
                                            )
                                          ]
                                          else_action: [
                                            (C {(func_fatal_error)} 
                                              {
                                                (DQ ("can't build ") ($ VSub_Name "$host") 
                                                  (
" shared library unless -no-undefined is specified"
                                                  )
                                                )
                                              }
                                            )
                                          ]
                                          spids: [44869 44881]
                                        )
                                      ]
                                      spids: [-1 44837]
                                    )
                                  ]
                                  spids: [-1 44884]
                                )
                              ]
                              spids: [-1 44821]
                            )
                          ]
                          else_action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:allow_undefined_flag)
                                  op: Equal
                                  rhs: {($ VSub_Name "$no_undefined_flag")}
                                  spids: [44894]
                                )
                              ]
                              spids: [44894]
                            )
                          ]
                          spids: [44887 44898]
                        )
                      ]
                      spids: [43420 44902]
                    )
                    (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: [44943]
                            )
                          ]
                          spids: [44943]
                        )
                      ]
                      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: [44972]
                                )
                              ]
                              spids: [44972]
                            )
                            (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: [44976 44983]
                                      )
                                    }
                                  spids: [44975]
                                )
                              ]
                              spids: [44975]
                            )
                            (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: [45005 45013 45016 -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: [45074]
                                                                    )
                                                                    (Redir
                                                                      op_id: Redir_GreatAnd
                                                                      fd: 2
                                                                      arg_word: {(1)}
                                                                      spids: [45077]
                                                                    )
                                                                  ]
                                                                )
                                                              ]
                                                              negated: False
                                                            )
                                                          ]
                                                          action: [
                                                            (ControlFlow
                                                              token: <ControlFlow_Continue continue>
                                                            )
                                                          ]
                                                          spids: [-1 45081]
                                                        )
                                                      ]
                                                      spids: [-1 45087]
                                                    )
                                                  ]
                                                  spids: [-1 45053]
                                                )
                                              ]
                                              spids: [-1 45090]
                                            )
                                            (C {(func_append)} {(removelist)} 
                                              {(DQ (" ") ($ VSub_Name "$p"))}
                                            )
                                          ]
                                          spids: [45019 45039 45103 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          spids: [45106 45107 45109 -1]
                                        )
                                      ]
                                      spids: [44998 45002 45112]
                                    )
                                  ]
                                  spids: [44995 45115]
                                )
                              spids: [44991 44993]
                            )
                            (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 44961]
                        )
                      ]
                      spids: [-1 45142]
                    )
                    (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: [45203 45230]
                                      )
                                    }
                                  spids: [45198]
                                )
                              ]
                              spids: [45198]
                            )
                          ]
                          spids: [-1 45176]
                        )
                      ]
                      spids: [-1 45233]
                    )
                    (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: [45280]
                                )
                              ]
                              spids: [45280]
                            )
                            (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: [45322 45329 45331 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_append)} {(finalize_rpath)} 
                                              {(DQ (" ") ($ VSub_Name "$libdir"))}
                                            )
                                          ]
                                          spids: [45334 45335 45346 -1]
                                        )
                                      ]
                                      spids: [45312 45319 45349]
                                    )
                                  ]
                                  spids: [45292 45352]
                                )
                              spids: [45288 45290]
                            )
                            (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: [45384]
                                        )
                                      ]
                                      spids: [45384]
                                    )
                                  ]
                                  spids: [-1 45381]
                                )
                              ]
                              spids: [-1 45392]
                            )
                          ]
                          spids: [-1 45273]
                        )
                      ]
                      spids: [-1 45395]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:old_dlfiles)
                          op: Equal
                          rhs: {($ VSub_Name "$dlfiles")}
                          spids: [45403]
                        )
                      ]
                      spids: [45403]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dlfiles)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [45407]
                        )
                      ]
                      spids: [45407]
                    )
                    (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: [45435 45442 45444 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (C {(func_append)} {(dlfiles)} {(DQ (" ") ($ VSub_Name "$lib"))})
                                  ]
                                  spids: [45447 45448 45459 -1]
                                )
                              ]
                              spids: [45422 45432 45462]
                            )
                          ]
                          spids: [45419 45465]
                        )
                      spids: [45415 45417]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:old_dlprefiles)
                          op: Equal
                          rhs: {($ VSub_Name "$dlprefiles")}
                          spids: [45473]
                        )
                      ]
                      spids: [45473]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dlprefiles)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [45477]
                        )
                      ]
                      spids: [45477]
                    )
                    (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: [45502 45509 45511 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (C {(func_append)} {(dlprefiles)} {(DQ (" ") ($ VSub_Name "$lib"))})
                                  ]
                                  spids: [45514 45515 45526 -1]
                                )
                              ]
                              spids: [45492 45499 45529]
                            )
                          ]
                          spids: [45489 45532]
                        )
                      spids: [45485 45487]
                    )
                    (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: [45573 45624 45631 -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: [45634 45649 45665 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-netbsd) 
                                              (Lit_Other "*")
                                            }
                                          ]
                                          spids: [45668 45673 45680 -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: [45683 45704 45711 -1]
                                        )
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-sco3.2v5) 
                                              (Lit_Other "*")
                                            }
                                            {(Lit_Other "*") (-) (Lit_Other "*") (-sco5v6) 
                                              (Lit_Other "*")
                                            }
                                          ]
                                          spids: [45714 45727 45734 -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: [45737 45766 45773 -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 45797]
                                                )
                                              ]
                                              spids: [-1 45809]
                                            )
                                          ]
                                          spids: [45776 45777 45812 -1]
                                        )
                                      ]
                                      spids: [45566 45570 45815]
                                    )
                                  ]
                                  spids: [-1 45563]
                                )
                              ]
                              spids: [-1 45818]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:name_save)
                                  op: Equal
                                  rhs: {($ VSub_Name "$name")}
                                  spids: [45826]
                                )
                              ]
                              spids: [45826]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libname_save)
                                  op: Equal
                                  rhs: {($ VSub_Name "$libname")}
                                  spids: [45830]
                                )
                              ]
                              spids: [45830]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:release_save)
                                  op: Equal
                                  rhs: {($ VSub_Name "$release")}
                                  spids: [45834]
                                )
                              ]
                              spids: [45834]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:versuffix_save)
                                  op: Equal
                                  rhs: {($ VSub_Name "$versuffix")}
                                  spids: [45838]
                                )
                              ]
                              spids: [45838]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:major_save)
                                  op: Equal
                                  rhs: {($ VSub_Name "$major")}
                                  spids: [45842]
                                )
                              ]
                              spids: [45842]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:release)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [45858]
                                )
                              ]
                              spids: [45858]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:versuffix)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [45861]
                                )
                              ]
                              spids: [45861]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:major)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [45864]
                                )
                              ]
                              spids: [45864]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:newdeplibs)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [45867]
                                )
                              ]
                              spids: [45867]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:droppeddeps)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [45870]
                                )
                              ]
                              spids: [45870]
                            )
                            (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: [45905]
                                        )
                                      ]
                                      spids: [45905]
                                    )
                                  ]
                                  spids: [45881 45882 45909 -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: [45943]
                                        )
                                        (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: [45947]
                                        )
                                      ]
                                    )
                                    (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: [45980 45984]
                                                      )
                                                    }
                                                  spids: [45979]
                                                )
                                              ]
                                              spids: [45979]
                                            )
                                            (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: [46023]
                                                                )
                                                              ]
                                                              spids: [46023]
                                                            )
                                                            (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: [46076]
                                                                                )
                                                                              ]
                                                                              spids: [46076]
                                                                            )
                                                                          ]
                                                                          spids: [46056 46063 46079 -1]
                                                                        )
                                                                      ]
                                                                      spids: [46043 46053 46082]
                                                                    )
                                                                  ]
                                                                  spids: [-1 46040]
                                                                )
                                                              ]
                                                              spids: [-1 46085]
                                                            )
                                                            (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: [46103 46114]
                                                                              )
                                                                            }
                                                                          spids: [46102]
                                                                        )
                                                                      ]
                                                                      spids: [46102]
                                                                    )
                                                                    (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: [46118 46129]
                                                                              )
                                                                            }
                                                                          spids: [46117]
                                                                        )
                                                                      ]
                                                                      spids: [46117]
                                                                    )
                                                                    (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: [46142]
                                                                        )
                                                                      ]
                                                                      spids: [46142]
                                                                    )
                                                                    (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: [
46150
46163
                                                                                      ]
                                                                                    )
                                                                                  } {(-ne)} {(0)}
                                                                                )
                                                                              terminator: 
                                                                                <Op_Semi ";">
                                                                            )
                                                                          ]
                                                                          action: [
                                                                            (C {(func_append)} 
                                                                              {(newdeplibs)} {(DQ (" ") ($ VSub_Name "$i"))}
                                                                            )
                                                                          ]
                                                                          spids: [-1 46170]
                                                                        )
                                                                      ]
                                                                      else_action: [
                                                                        (Assignment
                                                                          keyword: Assign_None
                                                                          pairs: [
                                                                            (assign_pair
                                                                              lhs: 
                                                                                (LhsName
                                                                                  name: droppeddeps
                                                                                )
                                                                              op: Equal
                                                                              rhs: {(yes)}
                                                                              spids: [46186]
                                                                            )
                                                                          ]
                                                                          spids: [46186]
                                                                        )
                                                                        (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: [46183 46237]
                                                                    )
                                                                  ]
                                                                  spids: [-1 46099]
                                                                )
                                                              ]
                                                              spids: [-1 46240]
                                                            )
                                                          ]
                                                          spids: [46006 46008 46243 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (C {(func_append)} {(newdeplibs)} 
                                                              {(DQ (" ") ($ VSub_Name "$i"))}
                                                            )
                                                          ]
                                                          spids: [46246 46247 46260 -1]
                                                        )
                                                      ]
                                                      spids: [45999 46003 46263]
                                                    )
                                                  ]
                                                  spids: [45996 46266]
                                                )
                                              spids: [45992 45994]
                                            )
                                          ]
                                          spids: [-1 45976]
                                        )
                                      ]
                                      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: [46316]
                                                            )
                                                          ]
                                                          spids: [46316]
                                                        )
                                                        (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: [46348 46352]
                                                                          )
                                                                        }
                                                                      spids: [46347]
                                                                    )
                                                                  ]
                                                                  spids: [46347]
                                                                )
                                                                (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: [46404]
                                                                                    )
                                                                                  ]
                                                                                  spids: [46404]
                                                                                )
                                                                              ]
                                                                              spids: [
46384
46391
46407
-1
                                                                              ]
                                                                            )
                                                                          ]
                                                                          spids: [46371 46381 46410]
                                                                        )
                                                                      ]
                                                                      spids: [-1 46368]
                                                                    )
                                                                  ]
                                                                  spids: [-1 46413]
                                                                )
                                                                (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: [
46431
46442
                                                                                    ]
                                                                                  )
                                                                                }
                                                                              spids: [46430]
                                                                            )
                                                                          ]
                                                                          spids: [46430]
                                                                        )
                                                                        (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: [
46446
46457
                                                                                    ]
                                                                                  )
                                                                                }
                                                                              spids: [46445]
                                                                            )
                                                                          ]
                                                                          spids: [46445]
                                                                        )
                                                                        (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: [46470]
                                                                            )
                                                                          ]
                                                                          spids: [46470]
                                                                        )
                                                                        (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: [
46478
46491
                                                                                          ]
                                                                                        )
                                                                                      } {(-ne)} {(0)}
                                                                                    )
                                                                                  terminator: 
                                                                                    <Op_Semi ";">
                                                                                )
                                                                              ]
                                                                              action: [
                                                                                (C {(func_append)} 
                                                                                  {(newdeplibs)} {(DQ (" ") ($ VSub_Name "$i"))}
                                                                                )
                                                                              ]
                                                                              spids: [-1 46498]
                                                                            )
                                                                          ]
                                                                          else_action: [
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: 
droppeddeps
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: {(yes)}
                                                                                  spids: [46514]
                                                                                )
                                                                              ]
                                                                              spids: [46514]
                                                                            )
                                                                            (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: [46511 46565]
                                                                        )
                                                                      ]
                                                                      spids: [-1 46427]
                                                                    )
                                                                  ]
                                                                  spids: [-1 46568]
                                                                )
                                                              ]
                                                              spids: [-1 46344]
                                                            )
                                                          ]
                                                          else_action: [
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:droppeddeps)
                                                                  op: Equal
                                                                  rhs: {(yes)}
                                                                  spids: [46574]
                                                                )
                                                              ]
                                                              spids: [46574]
                                                            )
                                                            (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: [46571 46611]
                                                        )
                                                      ]
                                                      spids: [46299 46301 46614 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other "*")}]
                                                      action: [
                                                        (C {(func_append)} {(newdeplibs)} 
                                                          {(DQ (" ") ($ VSub_Name "$i"))}
                                                        )
                                                      ]
                                                      spids: [46617 46618 46631 -1]
                                                    )
                                                  ]
                                                  spids: [46292 46296 46634]
                                                )
                                              ]
                                              spids: [46289 46637]
                                            )
                                          spids: [46285 46287]
                                        )
                                      ]
                                      spids: [46269 46640]
                                    )
                                  ]
                                  spids: [45912 45913 46643 -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: [46662 46678]
                                              )
                                            }
                                          spids: [46661]
                                        )
                                      ]
                                      spids: [46661]
                                    )
                                    (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: [46717]
                                                        )
                                                      ]
                                                      spids: [46717]
                                                    )
                                                    (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: [46770]
                                                                        )
                                                                      ]
                                                                      spids: [46770]
                                                                    )
                                                                  ]
                                                                  spids: [46750 46757 46773 -1]
                                                                )
                                                              ]
                                                              spids: [46737 46747 46776]
                                                            )
                                                          ]
                                                          spids: [-1 46734]
                                                        )
                                                      ]
                                                      spids: [-1 46779]
                                                    )
                                                    (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: [46797 46808]
                                                                      )
                                                                    }
                                                                  spids: [46796]
                                                                )
                                                              ]
                                                              spids: [46796]
                                                            )
                                                            (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: [46826 46840]
                                                                              )
                                                                            }
                                                                          spids: [46825]
                                                                        )
                                                                      ]
                                                                      spids: [46825]
                                                                    )
                                                                  ]
                                                                  spids: [-1 46822]
                                                                )
                                                              ]
                                                              else_action: [
                                                                (Assignment
                                                                  keyword: Assign_None
                                                                  pairs: [
                                                                    (assign_pair
                                                                      lhs: (LhsName name:libnameglob)
                                                                      op: Equal
                                                                      rhs: {($ VSub_Name "$libname")}
                                                                      spids: [46846]
                                                                    )
                                                                  ]
                                                                  spids: [46846]
                                                                )
                                                              ]
                                                              spids: [46843 46850]
                                                            )
                                                            (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: [46866 46872]
                                                                          )
                                                                        }
                                                                      spids: [46865]
                                                                    )
                                                                  ]
                                                                  spids: [46865]
                                                                )
                                                              ]
                                                              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: [
46926
                                                                                                    ]
                                                                                                  )
                                                                                                ]
                                                                                              )
                                                                                            ]
                                                                                          )
                                                                                        left_token: 
                                                                                          <
Left_Backtick "`"
                                                                                          >
                                                                                        spids: [
46915
46928
                                                                                        ]
                                                                                      )
                                                                                    }
                                                                                  spids: [46914]
                                                                                )
                                                                              ]
                                                                              spids: [46914]
                                                                            )
                                                                            (C 
                                                                              {
                                                                                ($ VSub_Name 
"$nocaseglob"
                                                                                )
                                                                              }
                                                                            )
                                                                          ]
                                                                          spids: [-1 46904]
                                                                        )
                                                                      ]
                                                                      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: [
46949
                                                                                                ]
                                                                                              )
                                                                                            ]
                                                                                          )
                                                                                        ]
                                                                                      )
                                                                                    left_token: 
                                                                                      <
Left_Backtick "`"
                                                                                      >
                                                                                    spids: [
46938
46951
                                                                                    ]
                                                                                  )
                                                                                }
                                                                              spids: [46937]
                                                                            )
                                                                          ]
                                                                          spids: [46937]
                                                                        )
                                                                      ]
                                                                      spids: [46934 46954]
                                                                    )
                                                                    (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: [
46983
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                            (SimpleCommand
                                                                                              words: [
                                                                                                {
                                                                                                  ($ 
VSub_Name "$GREP"
                                                                                                  )
                                                                                                }
                                                                                                {
                                                                                                  (DQ 
                                                                                                    (
" -> "
                                                                                                    )
                                                                                                  )
                                                                                                }
                                                                                              ]
                                                                                              redirects: [
                                                                                                (Redir
                                                                                                  op_id: 
Redir_Great
                                                                                                  fd: 
-1
                                                                                                  arg_word: 
                                                                                                    {
                                                                                                      (
/dev/null
                                                                                                      )
                                                                                                    }
                                                                                                  spids: [
46995
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          negated: 
False
                                                                                        )
                                                                                      terminator: 
                                                                                        <Op_Semi 
";"
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  action: [
                                                                                    (ControlFlow
                                                                                      token: 
                                                                                        <
ControlFlow_Continue continue
                                                                                        >
                                                                                    )
                                                                                  ]
                                                                                  spids: [-1 46999]
                                                                                )
                                                                              ]
                                                                              spids: [-1 47005]
                                                                            )
                                                                            (Assignment
                                                                              keyword: Assign_None
                                                                              pairs: [
                                                                                (assign_pair
                                                                                  lhs: 
                                                                                    (LhsName
                                                                                      name: potlib
                                                                                    )
                                                                                  op: Equal
                                                                                  rhs: 
                                                                                    {
                                                                                      ($ VSub_Name 
"$potent_lib"
                                                                                      )
                                                                                    }
                                                                                  spids: [47028]
                                                                                )
                                                                              ]
                                                                              spids: [47028]
                                                                            )
                                                                            (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: [
47042
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                    )
                                                                                  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: [
47050
47064
                                                                                                ]
                                                                                              )
                                                                                            }
                                                                                          spids: [
47049
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [47049]
                                                                                    )
                                                                                    (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: [
47093
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
47093
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
47074
47091
47095
-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: [
47102
47116
                                                                                                        ]
                                                                                                      ) (DQ ($ VSub_Name "$potliblink"))
                                                                                                    }
                                                                                                  spids: [
47101
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                              spids: [
47101
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          spids: [
47098
47099
47120
-1
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [
47067
47071
47123
                                                                                      ]
                                                                                    )
                                                                                  ]
                                                                                  spids: [47046 47126]
                                                                                )
                                                                            )
                                                                            (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: [
47140
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                            (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: [
47161
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          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: [
47179
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [47179]
                                                                                    )
                                                                                    (ControlFlow
                                                                                      token: 
                                                                                        <
ControlFlow_Break break
                                                                                        >
                                                                                      arg_word: {(2)}
                                                                                    )
                                                                                  ]
                                                                                  spids: [-1 47166]
                                                                                )
                                                                              ]
                                                                              spids: [-1 47187]
                                                                            )
                                                                          ]
                                                                          spids: [46966 47190]
                                                                        )
                                                                      spids: [46962 46964]
                                                                    )
                                                                  ]
                                                                  spids: [46888 47193]
                                                                )
                                                              spids: [46880 46886]
                                                            )
                                                          ]
                                                          spids: [-1 46793]
                                                        )
                                                      ]
                                                      spids: [-1 47196]
                                                    )
                                                    (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: [47213]
                                                                )
                                                              ]
                                                              spids: [47213]
                                                            )
                                                            (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 47268]
                                                                )
                                                              ]
                                                              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: [47280 47300]
                                                            )
                                                          ]
                                                          spids: [-1 47210]
                                                        )
                                                      ]
                                                      spids: [-1 47303]
                                                    )
                                                  ]
                                                  spids: [46700 46702 47306 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (C {(func_append)} {(newdeplibs)} 
                                                      {(DQ (" ") ($ VSub_Name "$a_deplib"))}
                                                    )
                                                  ]
                                                  spids: [47309 47310 47327 -1]
                                                )
                                              ]
                                              spids: [46693 46697 47330]
                                            )
                                          ]
                                          spids: [46690 47333]
                                        )
                                      spids: [46686 46688]
                                    )
                                  ]
                                  spids: [46646 46648 47339 -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: [47358 47374]
                                              )
                                            }
                                          spids: [47357]
                                        )
                                      ]
                                      spids: [47357]
                                    )
                                    (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: [47413]
                                                        )
                                                      ]
                                                      spids: [47413]
                                                    )
                                                    (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: [47466]
                                                                        )
                                                                      ]
                                                                      spids: [47466]
                                                                    )
                                                                  ]
                                                                  spids: [47446 47453 47469 -1]
                                                                )
                                                              ]
                                                              spids: [47433 47443 47472]
                                                            )
                                                          ]
                                                          spids: [-1 47430]
                                                        )
                                                      ]
                                                      spids: [-1 47475]
                                                    )
                                                    (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: [47493 47504]
                                                                      )
                                                                    }
                                                                  spids: [47492]
                                                                )
                                                              ]
                                                              spids: [47492]
                                                            )
                                                            (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: [
47535
                                                                                            ]
                                                                                          )
                                                                                        ]
                                                                                      )
                                                                                    ]
                                                                                  )
                                                                                left_token: 
                                                                                  <Left_Backtick 
"`"
                                                                                  >
                                                                                spids: [47524 47537]
                                                                              )
                                                                            }
                                                                          spids: [47523]
                                                                        )
                                                                      ]
                                                                      spids: [47523]
                                                                    )
                                                                    (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: [47552]
                                                                                )
                                                                              ]
                                                                              spids: [47552]
                                                                            )
                                                                            (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: [
47571
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                            (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: [
47590
                                                                                                  ]
                                                                                                )
                                                                                              ]
                                                                                            )
                                                                                          ]
                                                                                          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: [
47608
                                                                                          ]
                                                                                        )
                                                                                      ]
                                                                                      spids: [47608]
                                                                                    )
                                                                                    (ControlFlow
                                                                                      token: 
                                                                                        <
ControlFlow_Break break
                                                                                        >
                                                                                      arg_word: {(2)}
                                                                                    )
                                                                                  ]
                                                                                  spids: [-1 47595]
                                                                                )
                                                                              ]
                                                                              spids: [-1 47616]
                                                                            )
                                                                          ]
                                                                          spids: [47549 47619]
                                                                        )
                                                                      spids: [47545 47547]
                                                                    )
                                                                  ]
                                                                  spids: [47520 47622]
                                                                )
                                                              spids: [47512 47518]
                                                            )
                                                          ]
                                                          spids: [-1 47489]
                                                        )
                                                      ]
                                                      spids: [-1 47625]
                                                    )
                                                    (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: [47642]
                                                                )
                                                              ]
                                                              spids: [47642]
                                                            )
                                                            (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 47697]
                                                                )
                                                              ]
                                                              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: [47709 47729]
                                                            )
                                                          ]
                                                          spids: [-1 47639]
                                                        )
                                                      ]
                                                      spids: [-1 47732]
                                                    )
                                                  ]
                                                  spids: [47396 47398 47735 -1]
                                                )
                                                (case_arm
                                                  pat_list: [{(Lit_Other "*")}]
                                                  action: [
                                                    (C {(func_append)} {(newdeplibs)} 
                                                      {(DQ (" ") ($ VSub_Name "$a_deplib"))}
                                                    )
                                                  ]
                                                  spids: [47738 47739 47756 -1]
                                                )
                                              ]
                                              spids: [47389 47393 47759]
                                            )
                                          ]
                                          spids: [47386 47762]
                                        )
                                      spids: [47382 47384]
                                    )
                                  ]
                                  spids: [47342 47344 47768 -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: [47783]
                                        )
                                      ]
                                      spids: [47783]
                                    )
                                    (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: [47787 47802]
                                              )
                                            }
                                          spids: [47786]
                                        )
                                      ]
                                      spids: [47786]
                                    )
                                    (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: [47840 47857]
                                                              )
                                                            }
                                                          spids: [47839]
                                                        )
                                                      ]
                                                      spids: [47839]
                                                    )
                                                  ]
                                                  spids: [47832 47860]
                                                )
                                              spids: [47826 47830]
                                            )
                                          ]
                                          spids: [-1 47818]
                                        )
                                      ]
                                      spids: [-1 47863]
                                    )
                                    (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 47899]
                                                )
                                              ]
                                              else_action: [
                                                (C {(echo)} 
                                                  {
                                                    (DQ 
                                                      (
"*** Warning: inter-library dependencies are not known to be supported."
                                                      )
                                                    )
                                                  }
                                                )
                                              ]
                                              spids: [47909 47919]
                                            )
                                            (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: [47929]
                                                )
                                              ]
                                              spids: [47929]
                                            )
                                          ]
                                          spids: [47873 47880 47933 -1]
                                        )
                                      ]
                                      spids: [47866 47870 47936]
                                    )
                                  ]
                                  spids: [47771 47780 47939 -1]
                                )
                              ]
                              spids: [45874 45878 47942]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:versuffix)
                                  op: Equal
                                  rhs: {($ VSub_Name "$versuffix_save")}
                                  spids: [47945]
                                )
                              ]
                              spids: [47945]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:major)
                                  op: Equal
                                  rhs: {($ VSub_Name "$major_save")}
                                  spids: [47949]
                                )
                              ]
                              spids: [47949]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:release)
                                  op: Equal
                                  rhs: {($ VSub_Name "$release_save")}
                                  spids: [47953]
                                )
                              ]
                              spids: [47953]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libname)
                                  op: Equal
                                  rhs: {($ VSub_Name "$libname_save")}
                                  spids: [47957]
                                )
                              ]
                              spids: [47957]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:name)
                                  op: Equal
                                  rhs: {($ VSub_Name "$name_save")}
                                  spids: [47961]
                                )
                              ]
                              spids: [47961]
                            )
                            (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: [47996 48011]
                                              )
                                            }
                                          spids: [47995]
                                        )
                                      ]
                                      spids: [47995]
                                    )
                                  ]
                                  spids: [47973 47988 48014 -1]
                                )
                              ]
                              spids: [47966 47970 48017]
                            )
                            (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 48097]
                                                )
                                              ]
                                              spids: [-1 48131]
                                            )
                                            (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: [48150]
                                                        )
                                                      ]
                                                      spids: [48150]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:build_libtool_libs)
                                                          op: Equal
                                                          rhs: {(module)}
                                                          spids: [48158]
                                                        )
                                                      ]
                                                      spids: [48158]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:build_old_libs)
                                                          op: Equal
                                                          rhs: {(yes)}
                                                          spids: [48162]
                                                        )
                                                      ]
                                                      spids: [48162]
                                                    )
                                                  ]
                                                  spids: [-1 48147]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:build_libtool_libs)
                                                      op: Equal
                                                      rhs: {(no)}
                                                      spids: [48169]
                                                    )
                                                  ]
                                                  spids: [48169]
                                                )
                                              ]
                                              spids: [48166 48173]
                                            )
                                          ]
                                          spids: [-1 48050]
                                        )
                                      ]
                                      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: [48264]
                                                            )
                                                          ]
                                                          spids: [48264]
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:build_libtool_libs)
                                                              op: Equal
                                                              rhs: {(module)}
                                                              spids: [48272]
                                                            )
                                                          ]
                                                          spids: [48272]
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:build_old_libs)
                                                              op: Equal
                                                              rhs: {(yes)}
                                                              spids: [48276]
                                                            )
                                                          ]
                                                          spids: [48276]
                                                        )
                                                      ]
                                                      spids: [-1 48261]
                                                    )
                                                  ]
                                                  else_action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:build_libtool_libs)
                                                          op: Equal
                                                          rhs: {(no)}
                                                          spids: [48283]
                                                        )
                                                      ]
                                                      spids: [48283]
                                                    )
                                                  ]
                                                  spids: [48280 48287]
                                                )
                                              ]
                                              spids: [-1 48214]
                                            )
                                          ]
                                          spids: [-1 48290]
                                        )
                                      ]
                                      spids: [48176 48293]
                                    )
                                  ]
                                  spids: [-1 48034]
                                )
                              ]
                              spids: [-1 48296]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {($ VSub_Name "$newdeplibs")}
                                  spids: [48303]
                                )
                              ]
                              spids: [48303]
                            )
                          ]
                          spids: [-1 45549]
                        )
                      ]
                      spids: [-1 48307]
                    )
                    (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: [48330 48345]
                                      )
                                    }
                                  spids: [48329]
                                )
                              ]
                              spids: [48329]
                            )
                            (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: [48349 48364]
                                      )
                                    }
                                  spids: [48348]
                                )
                              ]
                              spids: [48348]
                            )
                            (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: [48368 48383]
                                      )
                                    }
                                  spids: [48367]
                                )
                              ]
                              spids: [48367]
                            )
                          ]
                          spids: [48321 48326 48386 -1]
                        )
                      ]
                      spids: [48314 48318 48389]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:new_libs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [48401]
                        )
                      ]
                      spids: [48401]
                    )
                    (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: [48427 48436 48438 -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: [48456 48465 48479 -1]
                                        )
                                      ]
                                      spids: [48445 48453 48482]
                                    )
                                  ]
                                  spids: [48441 48442 48485 -1]
                                )
                              ]
                              spids: [48416 48424 48488]
                            )
                          ]
                          spids: [48413 48491]
                        )
                      spids: [48409 48411]
                    )
                    (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: [48529 48536 48538 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_append)} {(new_libs)} 
                                              {(DQ (" ") ($ VSub_Name "$deplib"))}
                                            )
                                          ]
                                          spids: [48541 48542 48553 -1]
                                        )
                                      ]
                                      spids: [48518 48526 48556]
                                    )
                                  ]
                                  spids: [48513 48515 48559 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (C {(func_append)} {(new_libs)} {(DQ (" ") ($ VSub_Name "$deplib"))})
                                  ]
                                  spids: [48562 48563 48574 -1]
                                )
                              ]
                              spids: [48506 48510 48577]
                            )
                          ]
                          spids: [48503 48580]
                        )
                      spids: [48499 48501]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:deplibs)
                          op: Equal
                          rhs: {($ VSub_Name "$new_libs")}
                          spids: [48583]
                        )
                      ]
                      spids: [48583]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:library_names)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [48592]
                        )
                      ]
                      spids: [48592]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:old_library)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [48595]
                        )
                      ]
                      spids: [48595]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:dlname)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [48598]
                        )
                      ]
                      spids: [48598]
                    )
                    (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: [48644]
                                        )
                                      ]
                                      spids: [48644]
                                    )
                                  ]
                                  spids: [48637 48642 48646 -1]
                                )
                              ]
                              spids: [48630 48634 48649]
                            )
                            (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: [48672]
                                        )
                                      ]
                                      spids: [48672]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:dep_rpath)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [48675]
                                        )
                                      ]
                                      spids: [48675]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:rpath)
                                          op: Equal
                                          rhs: {($ VSub_Name "$finalize_rpath")}
                                          spids: [48678]
                                        )
                                      ]
                                      spids: [48678]
                                    )
                                    (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: [48694]
                                            )
                                          ]
                                          spids: [48694]
                                        )
                                      ]
                                      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: [48746]
                                                                )
                                                              ]
                                                              spids: [48746]
                                                            )
                                                            (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: [48764]
                                                                        )
                                                                      ]
                                                                      spids: [48764]
                                                                    )
                                                                  ]
                                                                  spids: [-1 48761]
                                                                )
                                                              ]
                                                              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: [48784 48791 48794 -1]
                                                                    )
                                                                    (case_arm
                                                                      pat_list: [{(Lit_Other "*")}]
                                                                      action: [
                                                                        (C {(func_append)} 
                                                                          {(hardcode_libdirs)} {(DQ ($ VSub_Name "$hardcode_libdir_separator") ($ VSub_Name "$libdir"))}
                                                                        )
                                                                      ]
                                                                      spids: [48797 48798 48811 -1]
                                                                    )
                                                                  ]
                                                                  spids: [48775 48781 48814]
                                                                )
                                                              ]
                                                              spids: [48768 48817]
                                                            )
                                                          ]
                                                          spids: [-1 48736]
                                                        )
                                                      ]
                                                      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: [48820 48841]
                                                    )
                                                  ]
                                                  spids: [-1 48722]
                                                )
                                                (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: [48868 48875 48877 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (C {(func_append)} {(perm_rpath)} 
                                                              {(DQ (" ") ($ VSub_Name "$libdir"))}
                                                            )
                                                          ]
                                                          spids: [48880 48881 48892 -1]
                                                        )
                                                      ]
                                                      spids: [48858 48865 48895]
                                                    )
                                                  ]
                                                  spids: [48844 48855]
                                                )
                                              ]
                                              spids: [-1 48898]
                                            )
                                          ]
                                          spids: [48708 48901]
                                        )
                                      spids: [48704 48706]
                                    )
                                    (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: [48933]
                                                )
                                              ]
                                              spids: [48933]
                                            )
                                            (C {(eval)} 
                                              {
                                                (DQ ("dep_rpath=") 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar "\\\"">
                                                  ) ($ VSub_Name "$hardcode_libdir_flag_spec") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                                )
                                              }
                                            )
                                          ]
                                          spids: [-1 48930]
                                        )
                                      ]
                                      spids: [-1 48947]
                                    )
                                    (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: [48978]
                                                )
                                              ]
                                              spids: [48978]
                                            )
                                            (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: [48990 49003]
                                                )
                                              spids: [48986 48988]
                                            )
                                            (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 48971]
                                        )
                                      ]
                                      spids: [-1 49019]
                                    )
                                    (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: [49032]
                                            )
                                          ]
                                          spids: [49032]
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                  ]
                                  spids: [-1 48665]
                                )
                              ]
                              spids: [-1 49040]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:shlibpath)
                                  op: Equal
                                  rhs: {($ VSub_Name "$finalize_shlibpath")}
                                  spids: [49044]
                                )
                              ]
                              spids: [49044]
                            )
                            (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: [49060]
                                    )
                                  ]
                                  spids: [49060]
                                )
                              ]
                              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 49076]
                                )
                              ]
                              spids: [-1 49092]
                            )
                            (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: [49126]
                                )
                              ]
                              spids: [49126]
                            )
                            (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 49145]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:soname)
                                      op: Equal
                                      rhs: {($ VSub_Name "$realname")}
                                      spids: [49159]
                                    )
                                  ]
                                  spids: [49159]
                                )
                              ]
                              spids: [49156 49163]
                            )
                            (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: [49180]
                                        )
                                      ]
                                      spids: [49180]
                                    )
                                  ]
                                  spids: [-1 49177]
                                )
                              ]
                              spids: [-1 49184]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:lib)
                                  op: Equal
                                  rhs: {($ VSub_Name "$output_objdir") (/) ($ VSub_Name "$realname")}
                                  spids: [49188]
                                )
                              ]
                              spids: [49188]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:linknames)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [49194]
                                )
                              ]
                              spids: [49194]
                            )
                            (ForEach
                              iter_name: link
                              do_arg_iter: True
                              body: 
                                (DoGroup
                                  children: [
                                    (C {(func_append)} {(linknames)} {(DQ (" ") ($ VSub_Name "$link"))})
                                  ]
                                  spids: [49202 49215]
                                )
                              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: [49234 49256]
                                          )
                                        }
                                      spids: [49233]
                                    )
                                  ]
                                  spids: [49233]
                                )
                              ]
                              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: [49274]
                                    )
                                  ]
                                  spids: [49274]
                                )
                              ]
                              op_id: Op_DAmp
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:delfiles)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [49278]
                                )
                              ]
                              spids: [49278]
                            )
                            (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: [49323]
                                        )
                                      ]
                                      spids: [49323]
                                    )
                                    (C {(func_append)} {(delfiles)} 
                                      {(DQ (" ") ($ VSub_Name "$export_symbols"))}
                                    )
                                  ]
                                  spids: [-1 49302]
                                )
                              ]
                              spids: [-1 49340]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:orig_export_symbols)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [49344]
                                )
                              ]
                              spids: [49344]
                            )
                            (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: [49432]
                                                        )
                                                      ]
                                                      spids: [49432]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:export_symbols)
                                                          op: Equal
                                                          rhs: {(SQ )}
                                                          spids: [49436]
                                                        )
                                                      ]
                                                      spids: [49436]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:always_export_symbols)
                                                          op: Equal
                                                          rhs: {(yes)}
                                                          spids: [49439]
                                                        )
                                                      ]
                                                      spids: [49439]
                                                    )
                                                  ]
                                                  spids: [49405]
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          spids: [-1 49390]
                                        )
                                      ]
                                      spids: [-1 49446]
                                    )
                                  ]
                                  spids: [49354 49366 49449 -1]
                                )
                              ]
                              spids: [49347 49351 49452]
                            )
                            (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: [49509]
                                                )
                                              ]
                                              spids: [49509]
                                            )
                                            (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: [49525]
                                                )
                                              ]
                                              spids: [49525]
                                            )
                                            (Sentence
                                              child: 
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:save_ifs)
                                                      op: Equal
                                                      rhs: {($ VSub_Name "$IFS")}
                                                      spids: [49529]
                                                    )
                                                  ]
                                                  spids: [49529]
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:IFS)
                                                  op: Equal
                                                  rhs: {(SQ <"~">)}
                                                  spids: [49533]
                                                )
                                              ]
                                              spids: [49533]
                                            )
                                            (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: [49551]
                                                        )
                                                      ]
                                                      spids: [49551]
                                                    )
                                                    (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: [49589]
                                                                )
                                                              ]
                                                              spids: [49589]
                                                            )
                                                            (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: [49609]
                                                                )
                                                              ]
                                                              spids: [49609]
                                                            )
                                                          ]
                                                          spids: [49572 49586 49613 -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: [49620]
                                                                )
                                                              ]
                                                              spids: [49620]
                                                            )
                                                          ]
                                                          spids: [49616 49617 49624 -1]
                                                        )
                                                      ]
                                                      spids: [49563 49569 49627]
                                                    )
                                                    (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: [49646]
                                                                )
                                                              ]
                                                              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: [49692]
                                                                )
                                                              ]
                                                              spids: [49692]
                                                            )
                                                          ]
                                                          spids: [-1 49678]
                                                        )
                                                        (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: [49717]
                                                                )
                                                              ]
                                                              spids: [49717]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:save_libobjs)
                                                                  op: Equal
                                                                  rhs: {($ VSub_Name "$libobjs")}
                                                                  spids: [49721]
                                                                )
                                                              ]
                                                              spids: [49721]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:save_output)
                                                                  op: Equal
                                                                  rhs: {($ VSub_Name "$output")}
                                                                  spids: [49725]
                                                                )
                                                              ]
                                                              spids: [49725]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:output)
                                                                  op: Equal
                                                                  rhs: 
                                                                    {($ VSub_Name "$output_objdir") 
                                                                      (/) ($ VSub_Name "$output_la") (.nm)
                                                                    }
                                                                  spids: [49729]
                                                                )
                                                              ]
                                                              spids: [49729]
                                                            )
                                                            (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: [49743]
                                                                )
                                                              ]
                                                              spids: [49743]
                                                            )
                                                            (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: [49777 49794]
                                                                )
                                                              redirects: [
                                                                (Redir
                                                                  op_id: Redir_Great
                                                                  fd: -1
                                                                  arg_word: 
                                                                    {(DQ ($ VSub_Name "$output"))}
                                                                  spids: [49796]
                                                                )
                                                              ]
                                                              spids: [49773 49775]
                                                            )
                                                            (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: [49822]
                                                                )
                                                              ]
                                                              spids: [49822]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:libobjs)
                                                                  op: Equal
                                                                  rhs: {($ VSub_Name "$save_libobjs")}
                                                                  spids: [49826]
                                                                )
                                                              ]
                                                              spids: [49826]
                                                            )
                                                            (Assignment
                                                              keyword: Assign_None
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: (LhsName name:skipped_export)
                                                                  op: Equal
                                                                  rhs: {(false)}
                                                                  spids: [49830]
                                                                )
                                                              ]
                                                              spids: [49830]
                                                            )
                                                          ]
                                                          spids: [49696 49707]
                                                        )
                                                      ]
                                                      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: [49848]
                                                            )
                                                          ]
                                                          spids: [49848]
                                                        )
                                                        (ControlFlow
                                                          token: <ControlFlow_Break break>
                                                        )
                                                      ]
                                                      spids: [49834 49863]
                                                    )
                                                  ]
                                                  spids: [49548 49866]
                                                )
                                              spids: [49544 49546]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:IFS)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$save_ifs")}
                                                  spids: [49869]
                                                )
                                              ]
                                              spids: [49869]
                                            )
                                            (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 49897]
                                                )
                                              ]
                                              spids: [-1 49914]
                                            )
                                          ]
                                          spids: [-1 49497]
                                        )
                                      ]
                                      spids: [-1 49917]
                                    )
                                  ]
                                  spids: [-1 49471]
                                )
                              ]
                              spids: [-1 49920]
                            )
                            (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: [49948]
                                        )
                                      ]
                                      spids: [49948]
                                    )
                                    (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: [49962]
                                            )
                                          ]
                                          spids: [49962]
                                        )
                                      ]
                                      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 49945]
                                )
                              ]
                              spids: [-1 49977]
                            )
                            (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: [50053]
                                            )
                                            (Redir
                                              op_id: Redir_Great
                                              fd: -1
                                              arg_word: 
                                                {($ VSub_Name "$output_objdir") (/) 
                                                  ($ VSub_Name "$libname") (.filter)
                                                }
                                              spids: [50057]
                                            )
                                          ]
                                        )
                                      ]
                                      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: [50080]
                                        )
                                      ]
                                      spids: [50080]
                                    )
                                    (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: [50100]
                                            )
                                            (Redir
                                              op_id: Redir_Great
                                              fd: -1
                                              arg_word: {($ VSub_Name "$export_symbols")}
                                              spids: [50104]
                                            )
                                          ]
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                  ]
                                  spids: [-1 50005]
                                )
                              ]
                              spids: [-1 50109]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:tmp_deplibs)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [50113]
                                )
                              ]
                              spids: [50113]
                            )
                            (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: [50139 50146 50148 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_append)} {(tmp_deplibs)} 
                                              {(DQ (" ") ($ VSub_Name "$test_deplib"))}
                                            )
                                          ]
                                          spids: [50151 50152 50165 -1]
                                        )
                                      ]
                                      spids: [50128 50136 50168]
                                    )
                                  ]
                                  spids: [50125 50171]
                                )
                              spids: [50121 50123]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:deplibs)
                                  op: Equal
                                  rhs: {($ VSub_Name "$tmp_deplibs")}
                                  spids: [50174]
                                )
                              ]
                              spids: [50174]
                            )
                            (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: [50239]
                                                )
                                              ]
                                              spids: [50239]
                                            )
                                          ]
                                          spids: [-1 50228]
                                        )
                                      ]
                                      spids: [-1 50242]
                                    )
                                    (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: [50259]
                                                )
                                              ]
                                              spids: [50259]
                                            )
                                            (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: [50289]
                                                    )
                                                  ]
                                                  spids: [50289]
                                                )
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          ]
                                          spids: [-1 50256]
                                        )
                                      ]
                                      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: [50295]
                                            )
                                          ]
                                          spids: [50295]
                                        )
                                        (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: [50347]
                                                )
                                              ]
                                              spids: [50347]
                                            )
                                          ]
                                          op_id: Op_DAmp
                                        )
                                      ]
                                      spids: [50292 50350]
                                    )
                                  ]
                                  spids: [-1 50190]
                                )
                              ]
                              spids: [-1 50353]
                            )
                            (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 50380]
                                )
                              ]
                              spids: [-1 50401]
                            )
                            (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 50422]
                                )
                              ]
                              spids: [-1 50442]
                            )
                            (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: [50508]
                                                )
                                              ]
                                              spids: [50508]
                                            )
                                          ]
                                          spids: [-1 50497]
                                        )
                                      ]
                                      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: [50523]
                                            )
                                          ]
                                          spids: [50523]
                                        )
                                      ]
                                      spids: [50512 50527]
                                    )
                                  ]
                                  spids: [-1 50473]
                                )
                              ]
                              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: [50565]
                                            )
                                          ]
                                          spids: [50565]
                                        )
                                      ]
                                      spids: [-1 50554]
                                    )
                                  ]
                                  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: [50580]
                                        )
                                      ]
                                      spids: [50580]
                                    )
                                  ]
                                  spids: [50569 50584]
                                )
                              ]
                              spids: [50530 50587]
                            )
                            (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: [50617]
                                                        )
                                                      ]
                                                      spids: [50617]
                                                    )
                                                    (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 50648]
                                )
                              ]
                              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: [50726]
                                            )
                                          ]
                                          spids: [50726]
                                        )
                                      ]
                                      spids: [-1 50723]
                                    )
                                  ]
                                  spids: [-1 50730]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:save_output)
                                      op: Equal
                                      rhs: {($ VSub_Name "$output")}
                                      spids: [50733]
                                    )
                                  ]
                                  spids: [50733]
                                )
                                (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: [50744]
                                    )
                                  ]
                                  spids: [50744]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:test_cmds)
                                      op: Equal
                                      rhs: {(SQ )}
                                      spids: [50757]
                                    )
                                  ]
                                  spids: [50757]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:concat_cmds)
                                      op: Equal
                                      rhs: {(SQ )}
                                      spids: [50760]
                                    )
                                  ]
                                  spids: [50760]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:objlist)
                                      op: Equal
                                      rhs: {(SQ )}
                                      spids: [50763]
                                    )
                                  ]
                                  spids: [50763]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:last_robj)
                                      op: Equal
                                      rhs: {(SQ )}
                                      spids: [50766]
                                    )
                                  ]
                                  spids: [50766]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:k)
                                      op: Equal
                                      rhs: {(1)}
                                      spids: [50769]
                                    )
                                  ]
                                  spids: [50769]
                                )
                                (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: [50813]
                                            )
                                          ]
                                          spids: [50813]
                                        )
                                        (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: [50834]
                                            )
                                          ]
                                        )
                                        (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: [50864]
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [50848 50869]
                                            )
                                          spids: [50844 -1]
                                        )
                                        (SimpleCommand
                                          words: [{(echo)} {(SQ <")">)}]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_DGreat
                                              fd: -1
                                              arg_word: {($ VSub_Name "$output")}
                                              spids: [50878]
                                            )
                                          ]
                                        )
                                        (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: [50900]
                                            )
                                          ]
                                          spids: [50900]
                                        )
                                      ]
                                      spids: [-1 50810]
                                    )
                                    (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: [50941]
                                            )
                                          ]
                                          spids: [50941]
                                        )
                                        (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: [50958]
                                            )
                                          ]
                                        )
                                        (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: [50973]
                                            )
                                          ]
                                          spids: [50973]
                                        )
                                        (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: [50992]
                                                    )
                                                  ]
                                                  spids: [50992]
                                                )
                                                (C {(shift)})
                                              ]
                                              spids: [-1 50989]
                                            )
                                          ]
                                          spids: [-1 51002]
                                        )
                                        (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: [51026]
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [51010 51031]
                                            )
                                          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: [51051]
                                            )
                                          ]
                                          spids: [51051]
                                        )
                                      ]
                                      spids: [50904 50938]
                                    )
                                  ]
                                  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: [51083]
                                                )
                                              ]
                                              spids: [51083]
                                            )
                                            (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: [51109]
                                                )
                                              ]
                                              spids: [51109]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:len)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$len0")}
                                                  spids: [51113]
                                                )
                                              ]
                                              spids: [51113]
                                            )
                                            (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: [51151]
                                                        )
                                                      ]
                                                      spids: [51151]
                                                    )
                                                    (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 51181]
                                                        )
                                                      ]
                                                      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: [51225]
                                                                    )
                                                                  ]
                                                                  spids: [51225]
                                                                )
                                                                (C {(eval)} 
                                                                  {(Lit_VarLike "concat_cmds=") 
                                                                    (EscapedLiteralPart
                                                                      token: <Lit_EscapedChar "\\\"">
                                                                    ) ($ VSub_Name "$reload_cmds") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                                                  }
                                                                )
                                                              ]
                                                              spids: [-1 51218]
                                                            )
                                                          ]
                                                          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: [51248]
                                                                )
                                                              ]
                                                              spids: [51248]
                                                            )
                                                            (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: [51237 51272]
                                                        )
                                                        (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: [51275]
                                                            )
                                                          ]
                                                          spids: [51275]
                                                        )
                                                        (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: [51294]
                                                            )
                                                          ]
                                                          spids: [51294]
                                                        )
                                                        (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: [51298]
                                                            )
                                                          ]
                                                          spids: [51298]
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:objlist)
                                                              op: Equal
                                                              rhs: {(DQ (" ") ($ VSub_Name "$obj"))}
                                                              spids: [51308]
                                                            )
                                                          ]
                                                          spids: [51308]
                                                        )
                                                        (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: [51332]
                                                            )
                                                          ]
                                                          spids: [51332]
                                                        )
                                                      ]
                                                      spids: [51194 51336]
                                                    )
                                                  ]
                                                  spids: [51131 51339]
                                                )
                                              spids: [51127 -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: [51364]
                                                    )
                                                  ]
                                                  spids: [51364]
                                                )
                                              ]
                                              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: [51369]
                                                )
                                              ]
                                              spids: [51369]
                                            )
                                            (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 51398]
                                                )
                                              ]
                                              spids: [-1 51415]
                                            )
                                            (C {(func_append)} {(delfiles)} 
                                              {(DQ (" ") ($ VSub_Name "$output"))}
                                            )
                                          ]
                                          spids: [-1 51073]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:output)
                                              op: Equal
                                              rhs: {(SQ )}
                                              spids: [51432]
                                            )
                                          ]
                                          spids: [51432]
                                        )
                                      ]
                                      spids: [51429 51435]
                                    )
                                    (AndOr
                                      children: [
                                        (C 
                                          {
                                            (BracedVarSub
                                              token: <VSub_Name skipped_export>
                                              suffix_op: 
                                                (StringUnary
                                                  op_id: VTest_Hyphen
                                                  arg_word: {(false)}
                                                )
                                              spids: [51439 51443]
                                            )
                                          }
                                        )
                                        (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: [51459]
                                                )
                                              ]
                                              spids: [51459]
                                            )
                                            (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: [51475]
                                                )
                                              ]
                                              spids: [51475]
                                            )
                                            (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: [51493]
                                                    )
                                                  ]
                                                  spids: [51493]
                                                )
                                              ]
                                              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 51519]
                                                )
                                              ]
                                              spids: [-1 51536]
                                            )
                                          ]
                                          spids: [51447]
                                        )
                                      ]
                                      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: [51567]
                                            )
                                          ]
                                          spids: [51567]
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {(SQ <"~">)}
                                          spids: [51571]
                                        )
                                      ]
                                      spids: [51571]
                                    )
                                    (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: [51589]
                                                )
                                              ]
                                              spids: [51589]
                                            )
                                            (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: [51597]
                                                )
                                              ]
                                              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: [51633]
                                                            )
                                                          ]
                                                          spids: [51633]
                                                        )
                                                        (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: [51658 51696]
                                                                )
                                                              ]
                                                              spids: [-1 51655]
                                                            )
                                                          ]
                                                          spids: [-1 51699]
                                                        )
                                                        (C {(exit)} {($ VSub_Name "$lt_exit")})
                                                      ]
                                                      spids: [51630]
                                                    )
                                                  ]
                                                  op_id: Op_DPipe
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          spids: [51586 51711]
                                        )
                                      spids: [51582 51584]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:IFS)
                                          op: Equal
                                          rhs: {($ VSub_Name "$save_ifs")}
                                          spids: [51714]
                                        )
                                      ]
                                      spids: [51714]
                                    )
                                    (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: [51731 51735]
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  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 51738]
                                        )
                                      ]
                                      spids: [-1 51755]
                                    )
                                  ]
                                  spids: [51059 51758]
                                )
                                (AndOr
                                  children: [
                                    (C 
                                      {
                                        (BracedVarSub
                                          token: <VSub_Name skipped_export>
                                          suffix_op: 
                                            (StringUnary
                                              op_id: VTest_Hyphen
                                              arg_word: {(false)}
                                            )
                                          spids: [51762 51766]
                                        )
                                      }
                                    )
                                    (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: [51797]
                                                    )
                                                  ]
                                                  spids: [51797]
                                                )
                                                (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: [51811]
                                                        )
                                                      ]
                                                      spids: [51811]
                                                    )
                                                  ]
                                                  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 51794]
                                            )
                                          ]
                                          spids: [-1 51826]
                                        )
                                        (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: [51889]
                                                        )
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: -1
                                                          arg_word: 
                                                            {($ VSub_Name "$output_objdir") (/) 
                                                              ($ VSub_Name "$libname") (.filter)
                                                            }
                                                          spids: [51893]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  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: [51916]
                                                    )
                                                  ]
                                                  spids: [51916]
                                                )
                                                (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: [51936]
                                                        )
                                                        (Redir
                                                          op_id: Redir_Great
                                                          fd: -1
                                                          arg_word: {($ VSub_Name "$export_symbols")}
                                                          spids: [51940]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  op_id: Op_DPipe
                                                )
                                              ]
                                              spids: [-1 51841]
                                            )
                                          ]
                                          spids: [-1 51945]
                                        )
                                      ]
                                      spids: [51770]
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:libobjs)
                                      op: Equal
                                      rhs: {($ VSub_Name "$output")}
                                      spids: [51952]
                                    )
                                  ]
                                  spids: [51952]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:output)
                                      op: Equal
                                      rhs: {($ VSub_Name "$save_output")}
                                      spids: [51960]
                                    )
                                  ]
                                  spids: [51960]
                                )
                                (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: [52015]
                                                )
                                              ]
                                              spids: [52015]
                                            )
                                          ]
                                          op_id: Op_DAmp
                                        )
                                      ]
                                      spids: [-1 51986]
                                    )
                                  ]
                                  spids: [-1 52018]
                                )
                                (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: [52084]
                                                    )
                                                  ]
                                                  spids: [52084]
                                                )
                                              ]
                                              spids: [-1 52081]
                                            )
                                          ]
                                          else_action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:cmds)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$module_cmds")}
                                                  spids: [52091]
                                                )
                                              ]
                                              spids: [52091]
                                            )
                                          ]
                                          spids: [52088 52095]
                                        )
                                      ]
                                      spids: [-1 52057]
                                    )
                                  ]
                                  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: [52125]
                                                )
                                              ]
                                              spids: [52125]
                                            )
                                          ]
                                          spids: [-1 52122]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:cmds)
                                              op: Equal
                                              rhs: {($ VSub_Name "$archive_cmds")}
                                              spids: [52132]
                                            )
                                          ]
                                          spids: [52132]
                                        )
                                      ]
                                      spids: [52129 52136]
                                    )
                                  ]
                                  spids: [52098 52139]
                                )
                              ]
                              spids: [50654 52142]
                            )
                            (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 52157]
                                )
                              ]
                              spids: [-1 52178]
                            )
                            (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: [52200]
                                        )
                                      ]
                                      spids: [52200]
                                    )
                                    (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: [52252]
                                            )
                                          ]
                                          spids: [52252]
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                  ]
                                  spids: [-1 52197]
                                )
                              ]
                              spids: [-1 52255]
                            )
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:save_ifs)
                                      op: Equal
                                      rhs: {($ VSub_Name "$IFS")}
                                      spids: [52259]
                                    )
                                  ]
                                  spids: [52259]
                                )
                              terminator: <Op_Semi ";">
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(SQ <"~">)}
                                  spids: [52263]
                                )
                              ]
                              spids: [52263]
                            )
                            (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: [52281]
                                        )
                                      ]
                                      spids: [52281]
                                    )
                                    (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: [52294]
                                        )
                                      ]
                                      spids: [52294]
                                    )
                                    (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: [52302]
                                        )
                                      ]
                                      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: [52338]
                                                    )
                                                  ]
                                                  spids: [52338]
                                                )
                                                (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: [52363 52401]
                                                        )
                                                      ]
                                                      spids: [-1 52360]
                                                    )
                                                  ]
                                                  spids: [-1 52404]
                                                )
                                                (C {(exit)} {($ VSub_Name "$lt_exit")})
                                              ]
                                              spids: [52335]
                                            )
                                          ]
                                          op_id: Op_DPipe
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                  ]
                                  spids: [52278 52416]
                                )
                              spids: [52274 52276]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {($ VSub_Name "$save_ifs")}
                                  spids: [52419]
                                )
                              ]
                              spids: [52419]
                            )
                            (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 52487]
                                                )
                                              ]
                                              spids: [-1 52497]
                                            )
                                          ]
                                          spids: [-1 52473]
                                        )
                                      ]
                                      spids: [-1 52500]
                                    )
                                    (C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})
                                  ]
                                  spids: [-1 52441]
                                )
                              ]
                              spids: [-1 52509]
                            )
                            (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 52545]
                                        )
                                      ]
                                      spids: [-1 52559]
                                    )
                                  ]
                                  spids: [52526 52562]
                                )
                              spids: [52522 52524]
                            )
                            (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: [52602]
                                        )
                                      ]
                                      spids: [52602]
                                    )
                                  ]
                                  spids: [-1 52595]
                                )
                              ]
                              spids: [-1 52606]
                            )
                          ]
                          spids: [-1 48619]
                        )
                      ]
                      spids: [-1 52609]
                    )
                  ]
                  spids: [42995 42996 52612 -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 52645]
                        )
                      ]
                      spids: [-1 52655]
                    )
                    (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: [52669 52680 52689 -1]
                        )
                      ]
                      spids: [52659 52666 52692]
                    )
                    (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: [52811]
                                )
                              ]
                              spids: [52811]
                            )
                            (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: [52822]
                                )
                              ]
                              spids: [52822]
                            )
                          ]
                          spids: [52783 52785 52826 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:libobj)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [52833]
                                )
                              ]
                              spids: [52833]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:obj)
                                  op: Equal
                                  rhs: {($ VSub_Name "$output")}
                                  spids: [52836]
                                )
                              ]
                              spids: [52836]
                            )
                          ]
                          spids: [52829 52830 52840 -1]
                        )
                      ]
                      spids: [52776 52780 52843]
                    )
                    (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: [52879]
                        )
                      ]
                      spids: [52879]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:gentop)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [52882]
                        )
                      ]
                      spids: [52882]
                    )
                    (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: [52914]
                                )
                              ]
                              spids: [52914]
                            )
                          ]
                          spids: [52904 52912 52916 -1]
                        )
                      ]
                      spids: [52897 52901 52919]
                    )
                    (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: [52969 52983]
                                                  )
                                                }
                                              spids: [52968]
                                            )
                                          ]
                                          spids: [52968]
                                        )
                                      ]
                                      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: [52986]
                                        )
                                      ]
                                      spids: [52986]
                                    )
                                  ]
                                  spids: [-1 52947]
                                )
                              ]
                              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: [52995]
                                    )
                                  ]
                                  spids: [52995]
                                )
                                (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: [53022]
                                    )
                                  ]
                                  spids: [53022]
                                )
                              ]
                              spids: [52992 53030]
                            )
                          ]
                          spids: [-1 52933]
                        )
                      ]
                      spids: [-1 53033]
                    )
                    (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: [53053]
                            )
                          ]
                          spids: [53053]
                        )
                      ]
                      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: [53068 53099]
                              ) (SQ <" ">) ($ VSub_Name "$reload_conv_objs")
                            }
                          spids: [53062]
                        )
                      ]
                      spids: [53062]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:output)
                          op: Equal
                          rhs: {($ VSub_Name "$obj")}
                          spids: [53107]
                        )
                      ]
                      spids: [53107]
                    )
                    (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 53152]
                                )
                              ]
                              spids: [-1 53162]
                            )
                            (C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})
                          ]
                          spids: [-1 53138]
                        )
                      ]
                      spids: [-1 53171]
                    )
                    (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 53201]
                                )
                              ]
                              spids: [-1 53211]
                            )
                            (C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})
                          ]
                          spids: [53187]
                        )
                      ]
                      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: [53271]
                                )
                              ]
                              spids: [53271]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:output)
                                  op: Equal
                                  rhs: {($ VSub_Name "$libobj")}
                                  spids: [53279]
                                )
                              ]
                              spids: [53279]
                            )
                            (C {(func_execute_cmds)} {(DQ ($ VSub_Name "$reload_cmds"))} 
                              {(SQ <"exit $?">)}
                            )
                          ]
                          spids: [-1 53264]
                        )
                      ]
                      spids: [-1 53294]
                    )
                    (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 53309]
                        )
                      ]
                      spids: [-1 53319]
                    )
                    (C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})
                  ]
                  spids: [52616 52617 53328 -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: [53362]
                                )
                              ]
                              spids: [53362]
                            )
                          ]
                          spids: [53343 53346 53365 -1]
                        )
                      ]
                      spids: [53336 53340 53368]
                    )
                    (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: [53477 53492]
                                      )
                                    }
                                  spids: [53476]
                                )
                              ]
                              spids: [53476]
                            )
                            (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: [53496 53511]
                                      )
                                    }
                                  spids: [53495]
                                )
                              ]
                              spids: [53495]
                            )
                          ]
                          spids: [53454 53469 53514 -1]
                        )
                      ]
                      spids: [53447 53451 53517]
                    )
                    (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: [53562 53566]
                                          )
                                        }
                                      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: [53571 53575 53600 -1]
                                        )
                                      ]
                                      spids: [53560 53568 53603]
                                    )
                                  ]
                                  spids: [-1 53557]
                                )
                              ]
                              spids: [-1 53606]
                            )
                            (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: [53614 53629]
                                      )
                                    }
                                  spids: [53613]
                                )
                              ]
                              spids: [53613]
                            )
                            (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: [53633 53648]
                                      )
                                    }
                                  spids: [53632]
                                )
                              ]
                              spids: [53632]
                            )
                          ]
                          spids: [53528 53533 53651 -1]
                        )
                      ]
                      spids: [53521 53525 53654]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:new_libs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [53667]
                        )
                      ]
                      spids: [53667]
                    )
                    (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: [53693 53702 53704 -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: [53722 53731 53745 -1]
                                        )
                                      ]
                                      spids: [53711 53719 53748]
                                    )
                                  ]
                                  spids: [53707 53708 53751 -1]
                                )
                              ]
                              spids: [53682 53690 53754]
                            )
                          ]
                          spids: [53679 53757]
                        )
                      spids: [53675 53677]
                    )
                    (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: [53795 53802 53804 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_append)} {(new_libs)} 
                                              {(DQ (" ") ($ VSub_Name "$deplib"))}
                                            )
                                          ]
                                          spids: [53807 53808 53819 -1]
                                        )
                                      ]
                                      spids: [53784 53792 53822]
                                    )
                                  ]
                                  spids: [53779 53781 53825 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (C {(func_append)} {(new_libs)} {(DQ (" ") ($ VSub_Name "$deplib"))})
                                  ]
                                  spids: [53828 53829 53840 -1]
                                )
                              ]
                              spids: [53772 53776 53843]
                            )
                          ]
                          spids: [53769 53846]
                        )
                      spids: [53765 53767]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:compile_deplibs)
                          op: Equal
                          rhs: {($ VSub_Name "$new_libs")}
                          spids: [53849]
                        )
                      ]
                      spids: [53849]
                    )
                    (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: [53923 53930 53932 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_append)} {(finalize_rpath)} 
                                              {(DQ (" ") ($ VSub_Name "$libdir"))}
                                            )
                                          ]
                                          spids: [53935 53936 53947 -1]
                                        )
                                      ]
                                      spids: [53913 53920 53950]
                                    )
                                  ]
                                  spids: [53906 53953]
                                )
                              spids: [53900 53904]
                            )
                          ]
                          spids: [-1 53888]
                        )
                      ]
                      spids: [-1 53956]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rpath)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [53964]
                        )
                      ]
                      spids: [53964]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:hardcode_libdirs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [53967]
                        )
                      ]
                      spids: [53967]
                    )
                    (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: [54026]
                                                        )
                                                      ]
                                                      spids: [54026]
                                                    )
                                                  ]
                                                  spids: [-1 54023]
                                                )
                                              ]
                                              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: [54046 54053 54056 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other "*")}]
                                                      action: [
                                                        (C {(func_append)} {(hardcode_libdirs)} 
                                                          {
                                                            (DQ 
                                                              ($ VSub_Name 
"$hardcode_libdir_separator"
                                                              ) ($ VSub_Name "$libdir")
                                                            )
                                                          }
                                                        )
                                                      ]
                                                      spids: [54059 54060 54073 -1]
                                                    )
                                                  ]
                                                  spids: [54037 54043 54076]
                                                )
                                              ]
                                              spids: [54030 54079]
                                            )
                                          ]
                                          spids: [-1 54009]
                                        )
                                      ]
                                      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: [54082 54103]
                                    )
                                  ]
                                  spids: [-1 53995]
                                )
                                (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: [54130 54137 54139 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_append)} {(perm_rpath)} 
                                              {(DQ (" ") ($ VSub_Name "$libdir"))}
                                            )
                                          ]
                                          spids: [54142 54143 54154 -1]
                                        )
                                      ]
                                      spids: [54120 54127 54157]
                                    )
                                  ]
                                  spids: [54106 54117]
                                )
                              ]
                              spids: [-1 54160]
                            )
                            (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: [54209 54225]
                                              )
                                            }
                                          spids: [54208]
                                        )
                                      ]
                                      spids: [54208]
                                    )
                                    (Case
                                      to_match: 
                                        {(Lit_Other ":") ($ VSub_Name "$dllsearchpath") 
                                          (Lit_Other ":")
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") (DQ (":") ($ VSub_Name "$libdir") (":")) 
                                              (Lit_Other "*")
                                            }
                                          ]
                                          spids: [54237 54244 54246 -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: [54253]
                                                )
                                              ]
                                              spids: [54253]
                                            )
                                          ]
                                          spids: [54249 54251 54255 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_append)} {(dllsearchpath)} 
                                              {(DQ (":") ($ VSub_Name "$libdir"))}
                                            )
                                          ]
                                          spids: [54258 54259 54269 -1]
                                        )
                                      ]
                                      spids: [54228 54234 54272]
                                    )
                                    (Case
                                      to_match: 
                                        {(Lit_Other ":") ($ VSub_Name "$dllsearchpath") 
                                          (Lit_Other ":")
                                        }
                                      arms: [
                                        (case_arm
                                          pat_list: [
                                            {(Lit_Other "*") 
                                              (DQ (":") ($ VSub_Name "$testbindir") (":")) (Lit_Other "*")
                                            }
                                          ]
                                          spids: [54284 54291 54293 -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: [54300]
                                                )
                                              ]
                                              spids: [54300]
                                            )
                                          ]
                                          spids: [54296 54298 54302 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_append)} {(dllsearchpath)} 
                                              {(DQ (":") ($ VSub_Name "$testbindir"))}
                                            )
                                          ]
                                          spids: [54305 54306 54316 -1]
                                        )
                                      ]
                                      spids: [54275 54281 54319]
                                    )
                                  ]
                                  spids: [54170 54205 54322 -1]
                                )
                              ]
                              spids: [54163 54167 54325]
                            )
                          ]
                          spids: [53981 54328]
                        )
                      spids: [53975 53979]
                    )
                    (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: [54360]
                                )
                              ]
                              spids: [54360]
                            )
                            (C {(eval)} 
                              {(Lit_VarLike "rpath=") 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                )
                              } {($ VSub_Name "$hardcode_libdir_flag_spec") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)}
                            )
                          ]
                          spids: [-1 54357]
                        )
                      ]
                      spids: [-1 54373]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:compile_rpath)
                          op: Equal
                          rhs: {($ VSub_Name "$rpath")}
                          spids: [54376]
                        )
                      ]
                      spids: [54376]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rpath)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [54381]
                        )
                      ]
                      spids: [54381]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:hardcode_libdirs)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [54384]
                        )
                      ]
                      spids: [54384]
                    )
                    (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: [54441]
                                                        )
                                                      ]
                                                      spids: [54441]
                                                    )
                                                  ]
                                                  spids: [-1 54438]
                                                )
                                              ]
                                              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: [54461 54468 54471 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other "*")}]
                                                      action: [
                                                        (C {(func_append)} {(hardcode_libdirs)} 
                                                          {
                                                            (DQ 
                                                              ($ VSub_Name 
"$hardcode_libdir_separator"
                                                              ) ($ VSub_Name "$libdir")
                                                            )
                                                          }
                                                        )
                                                      ]
                                                      spids: [54474 54475 54488 -1]
                                                    )
                                                  ]
                                                  spids: [54452 54458 54491]
                                                )
                                              ]
                                              spids: [54445 54494]
                                            )
                                          ]
                                          spids: [-1 54424]
                                        )
                                      ]
                                      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: [54497 54518]
                                    )
                                  ]
                                  spids: [-1 54410]
                                )
                                (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: [54545 54552 54554 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_append)} {(finalize_perm_rpath)} 
                                              {(DQ (" ") ($ VSub_Name "$libdir"))}
                                            )
                                          ]
                                          spids: [54557 54558 54569 -1]
                                        )
                                      ]
                                      spids: [54535 54542 54572]
                                    )
                                  ]
                                  spids: [54521 54532]
                                )
                              ]
                              spids: [-1 54575]
                            )
                          ]
                          spids: [54396 54578]
                        )
                      spids: [54392 54394]
                    )
                    (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: [54610]
                                )
                              ]
                              spids: [54610]
                            )
                            (C {(eval)} 
                              {(Lit_VarLike "rpath=") 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                )
                              } {($ VSub_Name "$hardcode_libdir_flag_spec") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)}
                            )
                          ]
                          spids: [-1 54607]
                        )
                      ]
                      spids: [-1 54623]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:finalize_rpath)
                          op: Equal
                          rhs: {($ VSub_Name "$rpath")}
                          spids: [54626]
                        )
                      ]
                      spids: [54626]
                    )
                    (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: [54662 54684]
                                      )
                                    }
                                  spids: [54661]
                                )
                              ]
                              spids: [54661]
                            )
                            (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: [54688 54710]
                                      )
                                    }
                                  spids: [54687]
                                )
                              ]
                              spids: [54687]
                            )
                          ]
                          spids: [-1 54654]
                        )
                      ]
                      spids: [-1 54713]
                    )
                    (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 54746]
                        )
                      ]
                      spids: [-1 54760]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:wrappers_required)
                          op: Equal
                          rhs: {(Lit_Other ":")}
                          spids: [54764]
                        )
                      ]
                      spids: [54764]
                    )
                    (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: [54791]
                                )
                              ]
                              spids: [54791]
                            )
                          ]
                          spids: [54775 54784 54795 -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: [54823]
                                    )
                                  ]
                                  spids: [54823]
                                )
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          spids: [54798 54808 54827 -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: [54863]
                                        )
                                      ]
                                      spids: [54863]
                                    )
                                  ]
                                  spids: [-1 54860]
                                )
                              ]
                              spids: [-1 54867]
                            )
                          ]
                          spids: [54830 54831 54870 -1]
                        )
                      ]
                      spids: [54768 54772 54873]
                    )
                    (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: [54888 54908]
                                      )
                                    }
                                  spids: [54887]
                                )
                              ]
                              spids: [54887]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:link_command)
                                  op: Equal
                                  rhs: 
                                    {($ VSub_Name "$compile_command") ($ VSub_Name "$compile_rpath")}
                                  spids: [54911]
                                )
                              ]
                              spids: [54911]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:exit_status)
                                  op: Equal
                                  rhs: {(0)}
                                  spids: [54921]
                                )
                              ]
                              spids: [54921]
                            )
                            (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: [54959 54993]
                                              )
                                            }
                                          spids: [54958]
                                        )
                                      ]
                                      spids: [54958]
                                    )
                                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name "$postlink_cmds"))} 
                                      {(SQ <"exit $?">)}
                                    )
                                  ]
                                  spids: [-1 54948]
                                )
                              ]
                              spids: [-1 55007]
                            )
                            (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 55032]
                                )
                              ]
                              spids: [-1 55042]
                            )
                            (C {(exit)} {($ VSub_Name "$exit_status")})
                          ]
                          spids: [54880]
                        )
                      ]
                      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: [55070]
                                )
                              ]
                              spids: [55070]
                            )
                          ]
                          spids: [-1 55067]
                        )
                      ]
                      spids: [-1 55085]
                    )
                    (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: [55102]
                                )
                              ]
                              spids: [55102]
                            )
                          ]
                          spids: [-1 55099]
                        )
                      ]
                      spids: [-1 55116]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:compile_var)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [55120]
                        )
                      ]
                      spids: [55120]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:finalize_var)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [55123]
                        )
                      ]
                      spids: [55123]
                    )
                    (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: [55158]
                                        )
                                      ]
                                      spids: [55158]
                                    )
                                    (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: [55170 55183]
                                        )
                                      spids: [55166 55168]
                                    )
                                    (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: [55186]
                                        )
                                      ]
                                      spids: [55186]
                                    )
                                  ]
                                  spids: [-1 55151]
                                )
                              ]
                              spids: [-1 55199]
                            )
                            (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: [55220]
                                        )
                                      ]
                                      spids: [55220]
                                    )
                                    (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: [55232 55245]
                                        )
                                      spids: [55228 55230]
                                    )
                                    (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: [55248]
                                        )
                                      ]
                                      spids: [55248]
                                    )
                                  ]
                                  spids: [-1 55213]
                                )
                              ]
                              spids: [-1 55261]
                            )
                          ]
                          spids: [-1 55137]
                        )
                      ]
                      spids: [-1 55264]
                    )
                    (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: [55288]
                                )
                              ]
                              spids: [55288]
                            )
                            (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: [55299 55319]
                                      )
                                    }
                                  spids: [55298]
                                )
                              ]
                              spids: [55298]
                            )
                            (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: [55373 55407]
                                              )
                                            }
                                          spids: [55372]
                                        )
                                      ]
                                      spids: [55372]
                                    )
                                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name "$postlink_cmds"))} 
                                      {(SQ <"exit $?">)}
                                    )
                                  ]
                                  spids: [-1 55362]
                                )
                              ]
                              spids: [-1 55421]
                            )
                            (C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})
                          ]
                          spids: [-1 55281]
                        )
                      ]
                      spids: [-1 55430]
                    )
                    (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: [55453]
                                )
                              ]
                              spids: [55453]
                            )
                            (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: [55459]
                                )
                              ]
                              spids: [55459]
                            )
                            (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: [55443 55446 55482 -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: [55491]
                                )
                              ]
                              spids: [55491]
                            )
                            (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: [55498 55514]
                                      )
                                    }
                                  spids: [55497]
                                )
                              ]
                              spids: [55497]
                            )
                          ]
                          spids: [55485 55488 55517 -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: [55526]
                                )
                              ]
                              spids: [55526]
                            )
                            (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: [55532]
                                )
                              ]
                              spids: [55532]
                            )
                          ]
                          spids: [55520 55523 55538 -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: [55547]
                                )
                              ]
                              spids: [55547]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:relink_command)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [55553]
                                )
                              ]
                              spids: [55553]
                            )
                          ]
                          spids: [55541 55544 55556 -1]
                        )
                      ]
                      spids: [55434 55440 55559]
                    )
                    (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: [55568 55590]
                              )
                            }
                          spids: [55567]
                        )
                      ]
                      spids: [55567]
                    )
                    (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: [55652 55688]
                                      )
                                    }
                                  spids: [55651]
                                )
                              ]
                              spids: [55651]
                            )
                            (C {(func_execute_cmds)} {(DQ ($ VSub_Name "$postlink_cmds"))} 
                              {(SQ <"exit $?">)}
                            )
                          ]
                          spids: [-1 55639]
                        )
                      ]
                      spids: [-1 55702]
                    )
                    (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: [55774]
                                                )
                                              ]
                                              spids: [55774]
                                            )
                                          ]
                                          spids: [-1 55771]
                                        )
                                        (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: [55817]
                                                )
                                              ]
                                              spids: [55817]
                                            )
                                          ]
                                          spids: [55796 55814]
                                        )
                                      ]
                                      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: [55837]
                                            )
                                          ]
                                          spids: [55837]
                                        )
                                      ]
                                      spids: [55827 55849]
                                    )
                                  ]
                                  spids: [55750 55852]
                                )
                              spids: [55746 55748]
                            )
                            (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: [55858 55860]
                                        ) ("; ") ($ VSub_Name "$relink_command") (")")
                                      )
                                    }
                                  spids: [55855]
                                )
                              ]
                              spids: [55855]
                            )
                            (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: [55868 55882]
                                      )
                                    }
                                  spids: [55867]
                                )
                              ]
                              spids: [55867]
                            )
                          ]
                          spids: [-1 55734]
                        )
                      ]
                      spids: [-1 55885]
                    )
                    (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: [55933]
                                        )
                                      ]
                                      spids: [55933]
                                    )
                                  ]
                                  spids: [55915 55917 55936 -1]
                                )
                              ]
                              spids: [55908 55912 55939]
                            )
                            (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: [55959]
                                        )
                                      ]
                                      spids: [55959]
                                    )
                                    (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: [55977]
                                        )
                                      ]
                                      spids: [55977]
                                    )
                                  ]
                                  spids: [55953 55956 55980 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:exeext)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [55986]
                                        )
                                      ]
                                      spids: [55986]
                                    )
                                  ]
                                  spids: [55983 55984 55988 -1]
                                )
                              ]
                              spids: [55946 55950 55991]
                            )
                            (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: [56028]
                                        )
                                      ]
                                      spids: [56028]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:output_path)
                                          op: Equal
                                          rhs: {($ VSub_Name "$func_dirname_result")}
                                          spids: [56032]
                                        )
                                      ]
                                      spids: [56032]
                                    )
                                    (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: [56036]
                                        )
                                      ]
                                      spids: [56036]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:cwrapper)
                                          op: Equal
                                          rhs: 
                                            {($ VSub_Name "$output_path") (/) 
                                              ($ VSub_Name "$output_name") (.exe)
                                            }
                                          spids: [56045]
                                        )
                                      ]
                                      spids: [56045]
                                    )
                                    (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: [56081]
                                        )
                                      ]
                                    )
                                    (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: [56107]
                                        )
                                      ]
                                      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: [56196]
                                                        )
                                                      ]
                                                    )
                                                  ]
                                                  spids: [-1 56189]
                                                )
                                              ]
                                              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: [56208]
                                                    )
                                                  ]
                                                )
                                              ]
                                              spids: [56201 56213]
                                            )
                                          ]
                                          spids: [56165]
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                  ]
                                  spids: [56001 56011 56219 -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: [56254]
                                        )
                                      ]
                                    )
                                    (C {(chmod)} {(Lit_Other "+") (x)} {($ VSub_Name "$output")})
                                  ]
                                  spids: [56222 56224 56267 -1]
                                )
                              ]
                              spids: [55994 55998 56270]
                            )
                          ]
                          spids: [55897]
                        )
                      ]
                      op_id: Op_DPipe
                    )
                    (C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})
                  ]
                  spids: [53332 53333 56281 -1]
                )
              ]
              spids: [42782 42786 56284]
            )
            (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: [56316]
                                )
                              ]
                              spids: [56316]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:addlibs)
                                  op: Equal
                                  rhs: {($ VSub_Name "$convenience")}
                                  spids: [56324]
                                )
                              ]
                              spids: [56324]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_libtool_libs)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [56328]
                                )
                              ]
                              spids: [56328]
                            )
                          ]
                          spids: [56312 56313 56332 -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: [56339]
                                )
                              ]
                              spids: [56339]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:addlibs)
                                  op: Equal
                                  rhs: {($ VSub_Name "$old_convenience")}
                                  spids: [56343]
                                )
                              ]
                              spids: [56343]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:build_libtool_libs)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [56347]
                                )
                              ]
                              spids: [56347]
                            )
                          ]
                          spids: [56335 56336 56351 -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: [56358]
                                )
                              ]
                              spids: [56358]
                            )
                            (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: [56392]
                                )
                              ]
                              spids: [56392]
                            )
                          ]
                          spids: [56354 56355 56396 -1]
                        )
                      ]
                      spids: [56305 56309 56399]
                    )
                    (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: [56417]
                                )
                              ]
                              spids: [56417]
                            )
                            (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 56414]
                        )
                      ]
                      spids: [-1 56454]
                    )
                    (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: [56488]
                                )
                              ]
                              spids: [56488]
                            )
                          ]
                          spids: [-1 56485]
                        )
                      ]
                      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: [56514]
                                    )
                                  ]
                                  spids: [56514]
                                )
                                (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 56511]
                            )
                          ]
                          spids: [-1 56551]
                        )
                        (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: [56591 56608]
                                                )
                                              spids: [56587 -1]
                                            )
                                            (C {(sort)})
                                            (SimpleCommand
                                              words: [{(sort)} {(-uc)}]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_Great
                                                  fd: -1
                                                  arg_word: {(/dev/null)}
                                                  spids: [56620]
                                                )
                                                (Redir
                                                  op_id: Redir_GreatAnd
                                                  fd: 2
                                                  arg_word: {(1)}
                                                  spids: [56623]
                                                )
                                              ]
                                            )
                                          ]
                                          negated: False
                                        )
                                      spids: [56581 56625]
                                    )
                                  terminator: <Op_Semi ";">
                                )
                              ]
                              action: [(C {(Lit_Other ":")})]
                              spids: [-1 56628]
                            )
                          ]
                          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: [56644]
                                )
                              ]
                              spids: [56644]
                            )
                            (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: [56670]
                                )
                              ]
                              spids: [56670]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldobjs)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [56674]
                                )
                              ]
                              spids: [56674]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:counter)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [56677]
                                )
                              ]
                              spids: [56677]
                            )
                            (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: [56700]
                                        )
                                      ]
                                      spids: [56700]
                                    )
                                    (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: [56720]
                                                )
                                              ]
                                              spids: [56720]
                                            )
                                          ]
                                          spids: [56716 56718 56723 -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: [56755]
                                                        )
                                                      ]
                                                      spids: [56755]
                                                    )
                                                    (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: [56771]
                                                        )
                                                      ]
                                                      spids: [56771]
                                                    )
                                                    (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: [56786 56796 56798 -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 56819]
                                                                )
                                                              ]
                                                              spids: [-1 56824]
                                                            )
                                                          ]
                                                          spids: [56801 56802 56826 -1]
                                                        )
                                                      ]
                                                      spids: [56775 56783 56829]
                                                    )
                                                  ]
                                                  spids: [56744 56832]
                                                )
                                            )
                                            (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: [56726 56736 56865 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (C {(func_append)} {(oldobjs)} 
                                              {(DQ (" ") ($ VSub_Name "$obj"))}
                                            )
                                          ]
                                          spids: [56868 56869 56880 -1]
                                        )
                                      ]
                                      spids: [56704 56712 56883]
                                    )
                                  ]
                                  spids: [56690 56886]
                                )
                              spids: [56686 -1]
                            )
                          ]
                          spids: [56634 56889]
                        )
                        (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: [56901]
                            )
                          ]
                          spids: [56901]
                        )
                        (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: [56922]
                            )
                          ]
                          spids: [56922]
                        )
                        (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: [56956]
                                    )
                                  ]
                                  spids: [56956]
                                )
                              ]
                              spids: [-1 56953]
                            )
                            (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: [56990 57007]
                                    )
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: -1
                                      arg_word: 
                                        {($ VSub_Name "$output_objdir") (/) ($ VSub_Name "$libname") 
                                          (.libcmd)
                                        }
                                      spids: [57009]
                                    )
                                  ]
                                  spids: [56986 -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: [57027]
                                    )
                                  ]
                                  spids: [57027]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:cmds)
                                      op: Equal
                                      rhs: {($ VSub_Name "$old_archive_cmds")}
                                      spids: [57035]
                                    )
                                  ]
                                  spids: [57035]
                                )
                              ]
                              spids: [56960 56971]
                            )
                          ]
                          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: [57053]
                                )
                              ]
                              spids: [57053]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:RANLIB)
                                  op: Equal
                                  rhs: {(Lit_Other ":")}
                                  spids: [57057]
                                )
                              ]
                              spids: [57057]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:objlist)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [57061]
                                )
                              ]
                              spids: [57061]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:concat_cmds)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [57064]
                                )
                              ]
                              spids: [57064]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:save_oldobjs)
                                  op: Equal
                                  rhs: {($ VSub_Name "$oldobjs")}
                                  spids: [57067]
                                )
                              ]
                              spids: [57067]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldobjs)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [57071]
                                )
                              ]
                              spids: [57071]
                            )
                            (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: [57090]
                                        )
                                      ]
                                      spids: [57090]
                                    )
                                  ]
                                  spids: [57087 57094]
                                )
                              spids: [57083 -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: [57113]
                                )
                              ]
                              spids: [57113]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:len)
                                  op: Equal
                                  rhs: {($ VSub_Name "$len0")}
                                  spids: [57117]
                                )
                              ]
                              spids: [57117]
                            )
                            (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: [57150]
                                        )
                                      ]
                                      spids: [57150]
                                    )
                                    (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 57179]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:oldobjs)
                                              op: Equal
                                              rhs: {($ VSub_Name "$objlist")}
                                              spids: [57192]
                                            )
                                          ]
                                          spids: [57192]
                                        )
                                        (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: [57214]
                                                    )
                                                  ]
                                                  spids: [57214]
                                                )
                                              ]
                                              spids: [-1 57211]
                                            )
                                          ]
                                          spids: [-1 57218]
                                        )
                                        (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: [57231]
                                                )
                                              ]
                                              spids: [57231]
                                            )
                                          ]
                                          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: [57246]
                                            )
                                          ]
                                          spids: [57246]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:len)
                                              op: Equal
                                              rhs: {($ VSub_Name "$len0")}
                                              spids: [57249]
                                            )
                                          ]
                                          spids: [57249]
                                        )
                                      ]
                                      spids: [57185 57253]
                                    )
                                  ]
                                  spids: [57130 57256]
                                )
                              spids: [57126 -1]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:RANLIB)
                                  op: Equal
                                  rhs: {($ VSub_Name "$save_RANLIB")}
                                  spids: [57259]
                                )
                              ]
                              spids: [57259]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldobjs)
                                  op: Equal
                                  rhs: {($ VSub_Name "$objlist")}
                                  spids: [57263]
                                )
                              ]
                              spids: [57263]
                            )
                            (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 57278]
                                )
                              ]
                              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: [57290 57305]
                            )
                          ]
                          spids: [57039 57308]
                        )
                      ]
                      spids: [56492 57311]
                    )
                    (C {(func_execute_cmds)} {(DQ ($ VSub_Name "$cmds"))} {(SQ <"exit $?">)})
                  ]
                  spids: [56301 57325]
                )
              spids: [56297 56299]
            )
            (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: [57369]
                        )
                      ]
                      spids: [57369]
                    )
                    (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: [57384]
                            )
                          ]
                          spids: [57384]
                        )
                      ]
                      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: [57436]
                                        )
                                      ]
                                      spids: [57436]
                                    )
                                  ]
                                  spids: [-1 57433]
                                )
                                (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: [57479]
                                        )
                                      ]
                                      spids: [57479]
                                    )
                                  ]
                                  spids: [57458 57476]
                                )
                              ]
                              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: [57499]
                                    )
                                  ]
                                  spids: [57499]
                                )
                              ]
                              spids: [57489 57511]
                            )
                          ]
                          spids: [57412 57514]
                        )
                      spids: [57408 57410]
                    )
                    (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: [57524 57526]
                                ) ("; ") ($ 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: [57521]
                        )
                      ]
                      spids: [57521]
                    )
                    (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: [57542 57556]
                              )
                            }
                          spids: [57541]
                        )
                      ]
                      spids: [57541]
                    )
                    (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: [57575]
                                )
                              ]
                              spids: [57575]
                            )
                          ]
                          spids: [-1 57572]
                        )
                      ]
                      spids: [-1 57578]
                    )
                    (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 57634]
                                                )
                                              ]
                                              spids: [-1 57640]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:output)
                                                  op: Equal
                                                  rhs: 
                                                    {($ VSub_Name "$output_objdir") (/) 
                                                      (${ VSub_Name outputname) (i)
                                                    }
                                                  spids: [57643]
                                                )
                                              ]
                                              spids: [57643]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newdependency_libs)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [57656]
                                                )
                                              ]
                                              spids: [57656]
                                            )
                                            (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: [57690]
                                                                )
                                                              ]
                                                              spids: [57690]
                                                            )
                                                            (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: [57704 57716]
                                                                )
                                                              }
                                                            )
                                                            (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: [57746 57750]
                                                                  ) ($ VSub_Name "$libdir") (/) ($ VSub_Name "$name")
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [57678 57680 57757 -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: [57760 57762 57794 -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: [57797 57799 57831 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (C {(func_append)} {(newdependency_libs)} 
                                                              {(DQ (" ") ($ VSub_Name "$deplib"))}
                                                            )
                                                          ]
                                                          spids: [57834 57835 57846 -1]
                                                        )
                                                      ]
                                                      spids: [57671 57675 57849]
                                                    )
                                                  ]
                                                  spids: [57668 57852]
                                                )
                                              spids: [57664 57666]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dependency_libs)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$newdependency_libs")}
                                                  spids: [57855]
                                                )
                                              ]
                                              spids: [57855]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newdlfiles)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [57859]
                                                )
                                              ]
                                              spids: [57859]
                                            )
                                            (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: [57894]
                                                                )
                                                              ]
                                                              spids: [57894]
                                                            )
                                                            (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: [57901 57913]
                                                                )
                                                              }
                                                            )
                                                            (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: [57943 57947]
                                                                  ) ($ VSub_Name "$libdir") (/) ($ VSub_Name "$name")
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [57882 57884 57954 -1]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other "*")}]
                                                          action: [
                                                            (C {(func_append)} {(newdlfiles)} 
                                                              {(DQ (" ") ($ VSub_Name "$lib"))}
                                                            )
                                                          ]
                                                          spids: [57957 57958 57969 -1]
                                                        )
                                                      ]
                                                      spids: [57875 57879 57972]
                                                    )
                                                  ]
                                                  spids: [57872 57975]
                                                )
                                              spids: [57868 57870]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dlfiles)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$newdlfiles")}
                                                  spids: [57978]
                                                )
                                              ]
                                              spids: [57978]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:newdlprefiles)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [57982]
                                                )
                                              ]
                                              spids: [57982]
                                            )
                                            (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: [58032]
                                                                )
                                                              ]
                                                              spids: [58032]
                                                            )
                                                            (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: [58039 58051]
                                                                )
                                                              }
                                                            )
                                                            (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: [58081 58085]
                                                                  ) ($ VSub_Name "$libdir") (/) ($ VSub_Name "$name")
                                                                )
                                                              }
                                                            )
                                                          ]
                                                          spids: [58004 58006 58092 -1]
                                                        )
                                                      ]
                                                      spids: [57997 58001 58095]
                                                    )
                                                  ]
                                                  spids: [57994 58098]
                                                )
                                              spids: [57990 57992]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:dlprefiles)
                                                  op: Equal
                                                  rhs: {($ VSub_Name "$newdlprefiles")}
                                                  spids: [58101]
                                                )
                                              ]
                                              spids: [58101]
                                            )
                                          ]
                                          spids: [-1 57620]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:newdlfiles)
                                              op: Equal
                                              rhs: {(SQ )}
                                              spids: [58108]
                                            )
                                          ]
                                          spids: [58108]
                                        )
                                        (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: [58149]
                                                            )
                                                          ]
                                                          spids: [58149]
                                                        )
                                                      ]
                                                      spids: [58130 58147 58152 -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: [58159 58161]
                                                                  ) (DQ (/) ($ VSub_Name "$lib"))
                                                                }
                                                              spids: [58158]
                                                            )
                                                          ]
                                                          spids: [58158]
                                                        )
                                                      ]
                                                      spids: [58155 58156 58167 -1]
                                                    )
                                                  ]
                                                  spids: [58123 58127 58170]
                                                )
                                                (C {(func_append)} {(newdlfiles)} 
                                                  {(DQ (" ") ($ VSub_Name "$abs"))}
                                                )
                                              ]
                                              spids: [58120 58183]
                                            )
                                          spids: [58116 58118]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:dlfiles)
                                              op: Equal
                                              rhs: {($ VSub_Name "$newdlfiles")}
                                              spids: [58186]
                                            )
                                          ]
                                          spids: [58186]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:newdlprefiles)
                                              op: Equal
                                              rhs: {(SQ )}
                                              spids: [58190]
                                            )
                                          ]
                                          spids: [58190]
                                        )
                                        (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: [58231]
                                                            )
                                                          ]
                                                          spids: [58231]
                                                        )
                                                      ]
                                                      spids: [58212 58229 58234 -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: [58241 58243]
                                                                  ) (DQ (/) ($ VSub_Name "$lib"))
                                                                }
                                                              spids: [58240]
                                                            )
                                                          ]
                                                          spids: [58240]
                                                        )
                                                      ]
                                                      spids: [58237 58238 58249 -1]
                                                    )
                                                  ]
                                                  spids: [58205 58209 58252]
                                                )
                                                (C {(func_append)} {(newdlprefiles)} 
                                                  {(DQ (" ") ($ VSub_Name "$abs"))}
                                                )
                                              ]
                                              spids: [58202 58265]
                                            )
                                          spids: [58198 58200]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:dlprefiles)
                                              op: Equal
                                              rhs: {($ VSub_Name "$newdlprefiles")}
                                              spids: [58268]
                                            )
                                          ]
                                          spids: [58268]
                                        )
                                      ]
                                      spids: [58105 58272]
                                    )
                                    (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: [58316]
                                        )
                                      ]
                                      spids: [58316]
                                    )
                                    (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: [58412]
                                                        )
                                                      ]
                                                      spids: [58412]
                                                    )
                                                  ]
                                                  spids: [-1 58398]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:tdlname)
                                                      op: Equal
                                                      rhs: {(../bin/) ($ VSub_Name "$dlname")}
                                                      spids: [58425]
                                                    )
                                                  ]
                                                  spids: [58425]
                                                )
                                              ]
                                              spids: [58418 58430]
                                            )
                                          ]
                                          spids: [58335 58380 58433 -1]
                                        )
                                      ]
                                      spids: [58320 58332 58436]
                                    )
                                    (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: [58441]
                                        )
                                      ]
                                    )
                                    (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: [58551]
                                                )
                                              ]
                                            )
                                          ]
                                          spids: [-1 58546]
                                        )
                                      ]
                                      spids: [-1 58564]
                                    )
                                  ]
                                  spids: [57604 58567]
                                )
                              spids: [57598 57602]
                            )
                          ]
                          spids: [57590]
                        )
                      ]
                      op_id: Op_DPipe
                    )
                    (C {(func_show_eval)} 
                      {
                        (SQ 
                          <
"( cd \"$output_objdir\" && $RM \"$outputname\" && $LN_S \"../$outputname\" \"$outputname\" )"
                          >
                        )
                      } {(SQ <"exit $?">)}
                    )
                  ]
                  spids: [57364 57366 58593 -1]
                )
              ]
              spids: [57357 57361 58596]
            )
            (C {(exit)} {($ VSub_Name "$EXIT_SUCCESS")})
          ]
          spids: [27905]
        )
      spids: [27900 27904]
    )
    (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: [58636 58642]
                )
              }
            )
          ]
          spids: [-1 58631]
        )
      ]
      spids: [-1 58644]
    )
    (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: [58663]
                )
              ]
              spids: [58663]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:files) op:Equal rhs:{(SQ )} spids:[58667])]
              spids: [58667]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:rmforce) op:Equal rhs:{(false)} spids:[58670])]
              spids: [58670]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:exit_status) op:Equal rhs:{(0)} spids:[58674])]
              spids: [58674]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:libtool_install_magic)
                  op: Equal
                  rhs: {($ VSub_Name "$magic")}
                  spids: [58687]
                )
              ]
              spids: [58687]
            )
            (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: [58720]
                                )
                              ]
                              spids: [58720]
                            )
                          ]
                          spids: [58707 58708 58723 -1]
                        )
                        (case_arm
                          pat_list: [{(-) (Lit_Other "*")}]
                          action: [(C {(func_append)} {(RM)} {(DQ (" ") ($ VSub_Name "$arg"))})]
                          spids: [58726 58728 58739 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [(C {(func_append)} {(files)} {(DQ (" ") ($ VSub_Name "$arg"))})]
                          spids: [58742 58743 58754 -1]
                        )
                      ]
                      spids: [58700 58704 58757]
                    )
                  ]
                  spids: [58697 58760]
                )
              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:[58784])]
              spids: [58784]
            )
            (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: [58814]
                        )
                      ]
                      spids: [58814]
                    )
                    (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: [58834]
                                )
                              ]
                              spids: [58834]
                            )
                          ]
                          spids: [-1 58831]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:odir)
                              op: Equal
                              rhs: {($ VSub_Name "$dir") (/) ($ VSub_Name "$objdir")}
                              spids: [58841]
                            )
                          ]
                          spids: [58841]
                        )
                      ]
                      spids: [58838 58847]
                    )
                    (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: [58857]
                        )
                      ]
                      spids: [58857]
                    )
                    (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: [58873]
                            )
                          ]
                          spids: [58873]
                        )
                      ]
                      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: [58909 58916 58918 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (C {(func_append)} {(rmdirs)} {(DQ (" ") ($ VSub_Name "$odir"))})
                                  ]
                                  spids: [58921 58922 58933 -1]
                                )
                              ]
                              spids: [58898 58906 58936]
                            )
                          ]
                          spids: [-1 58895]
                        )
                      ]
                      spids: [-1 58939]
                    )
                    (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: [58962]
                                        )
                                        (Redir
                                          op_id: Redir_GreatAnd
                                          fd: 2
                                          arg_word: {(1)}
                                          spids: [58965]
                                        )
                                      ]
                                      spids: [58949]
                                    )
                                    (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: [58984]
                                            )
                                            (Redir
                                              op_id: Redir_GreatAnd
                                              fd: 2
                                              arg_word: {(1)}
                                              spids: [58987]
                                            )
                                          ]
                                          spids: [58971]
                                        )
                                        (C {(test)} {(-f)} {(DQ ($ VSub_Name "$file"))})
                                      ]
                                      op_id: Op_DPipe
                                    )
                                  ]
                                  op_id: Op_DPipe
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [(C {(Lit_Other ":")})]
                          spids: [-1 59002]
                        )
                        (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: [59022]
                                )
                              ]
                              spids: [59022]
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [59008 59019]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {($ VSub_Name "$rmforce")})
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                          spids: [59029 59034]
                        )
                      ]
                      spids: [-1 59040]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rmfiles)
                          op: Equal
                          rhs: {($ VSub_Name "$file")}
                          spids: [59044]
                        )
                      ]
                      spids: [59044]
                    )
                    (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: [59098 59113]
                                        )
                                      spids: [59094 59096]
                                    )
                                    (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: [59161 59168 59170 -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: [59173 59174 59197 -1]
                                                )
                                              ]
                                              spids: [59150 59158 59200]
                                            )
                                            (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: [59146 59147 59232 -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 59250]
                                                )
                                              ]
                                              spids: [-1 59268]
                                            )
                                            (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 59283]
                                                )
                                              ]
                                              spids: [-1 59301]
                                            )
                                          ]
                                          spids: [59235 59236 59308 -1]
                                        )
                                      ]
                                      spids: [59139 59143 59311]
                                    )
                                  ]
                                  spids: [-1 59074]
                                )
                              ]
                              spids: [-1 59314]
                            )
                          ]
                          spids: [59056 59058 59317 -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 59383]
                                        )
                                      ]
                                      spids: [-1 59398]
                                    )
                                    (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 59430]
                                        )
                                      ]
                                      spids: [-1 59445]
                                    )
                                  ]
                                  spids: [-1 59339]
                                )
                              ]
                              spids: [-1 59448]
                            )
                          ]
                          spids: [59321 59323 59451 -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: [59475]
                                        )
                                      ]
                                      spids: [59475]
                                    )
                                    (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: [59505]
                                                )
                                              ]
                                              spids: [59505]
                                            )
                                            (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: [59523]
                                                )
                                              ]
                                              spids: [59523]
                                            )
                                            (C {(func_append)} {(rmfiles)} 
                                              {(DQ (" ") ($ VSub_Name "$file"))}
                                            )
                                          ]
                                          spids: [59486 59488 59545 -1]
                                        )
                                      ]
                                      spids: [59479 59483 59548]
                                    )
                                    (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: [59586]
                                                        )
                                                      ]
                                                      spids: [59586]
                                                    )
                                                    (C {(func_source)} 
                                                      {
                                                        ($ VSub_Name 
"$func_ltwrapper_scriptname_result"
                                                        )
                                                      }
                                                    )
                                                    (C {(func_append)} {(rmfiles)} 
                                                      {
                                                        (DQ (" ") 
                                                          ($ VSub_Name 
"$func_ltwrapper_scriptname_result"
                                                          )
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  spids: [-1 59576]
                                                )
                                              ]
                                              else_action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:relink_command)
                                                      op: Equal
                                                      rhs: {(SQ )}
                                                      spids: [59607]
                                                    )
                                                  ]
                                                  spids: [59607]
                                                )
                                                (C {(func_source)} 
                                                  {($ VSub_Name "$dir") (/) 
                                                    ($ VSub_Name "$noexename")
                                                  }
                                                )
                                              ]
                                              spids: [59604 59617]
                                            )
                                            (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 59672]
                                                )
                                              ]
                                              spids: [-1 59687]
                                            )
                                            (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 59708]
                                                )
                                              ]
                                              spids: [-1 59724]
                                            )
                                          ]
                                          spids: [-1 59564]
                                        )
                                      ]
                                      spids: [-1 59727]
                                    )
                                  ]
                                  spids: [-1 59472]
                                )
                              ]
                              spids: [-1 59730]
                            )
                          ]
                          spids: [59455 59456 59733 -1]
                        )
                      ]
                      spids: [59049 59053 59736]
                    )
                    (C {(func_show_eval)} {(DQ ($ VSub_Name "$RM") (" ") ($ VSub_Name "$rmfiles"))} 
                      {(SQ <"exit_status=1">)}
                    )
                  ]
                  spids: [58797 59752]
                )
              spids: [58793 58795]
            )
            (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 59783]
                        )
                      ]
                      spids: [-1 59795]
                    )
                  ]
                  spids: [59769 59798]
                )
              spids: [59765 59767]
            )
            (C {(exit)} {($ VSub_Name "$exit_status")})
          ]
          spids: [58656]
        )
      spids: [58651 58655]
    )
    (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: [59839 59845]
                )
              }
            )
          ]
          spids: [-1 59834]
        )
      ]
      spids: [-1 59847]
    )
    (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: [59863]
                )
              ]
              spids: [59863]
            )
            (C {(func_fatal_help)} {(DQ ("you must specify a MODE"))})
          ]
          spids: [59860]
        )
      ]
      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 59908]
        )
      ]
      spids: [-1 59924]
    )
    (C {(exit)} {($ VSub_Name "$exit_status")})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:build_libtool_libs) op:Equal rhs:{(no)} spids:[59967])]
      spids: [59967]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:build_old_libs) op:Equal rhs:{(yes)} spids:[59970])]
      spids: [59970]
    )
    (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: [59988 59989 59994 -1]
                          )
                          (case_arm
                            pat_list: [{(Lit_Other "*")}]
                            action: [(C {(echo)} {(yes)})]
                            spids: [59996 59997 60002 -1]
                          )
                        ]
                        spids: [59982 59986 60004]
                      )
                    ]
                  )
                left_token: <Left_Backtick "`">
                spids: [59981 60005]
              )
            }
          spids: [59980]
        )
      ]
      spids: [59980]
    )
  ]
)